/* NAYDIM Tarif Cards 2.0 – Design wie Vodafone-CallYa-Karten.
   Alle Farben/Größen über CSS-Variablen (Bricks-Controls oder Tarif-Set-Einstellungen). */
.ntc-root{
	--ntc-gap:36px;
	--ntc-headline-color:#25282b;
	--ntc-subline-color:#25282b;
	--ntc-sec-bg:transparent;
	--ntc-sec-padding:0px;
	--ntc-font:inherit;

	--ntc-card-bg:#ffffff;
	--ntc-feat-bg:#f2f2f2;
	--ntc-card-radius:6px;
	--ntc-card-pad-x:22px;
	--ntc-card-shadow:0 2px 8px rgba(0,0,0,.16);

	--ntc-badge-bg:#ffcc00;
	--ntc-badge-color:#111111;

	--ntc-provider-color:#666666;
	--ntc-tariff-color:#25282b;
	--ntc-gb-color:#25282b;
	--ntc-intro-color:#25282b;
	--ntc-feat-color:#25282b;
	--ntc-feat-sub-color:#25282b;
	--ntc-check:#008a00;

	--ntc-price-color:#25282b;
	--ntc-suffix-color:#25282b;
	--ntc-old-color:#e60000;
	--ntc-discount-bg:#e60000;
	--ntc-discount-color:#ffffff;
	--ntc-note-color:#25282b;

	--ntc-btn-bg:#000080;
	--ntc-btn-color:#ffffff;
	--ntc-btn-hover:#00005a;
	--ntc-btn-radius:6px;

	--ntc-link:#000080;
	--ntc-link-hover:#00005a;

	--ntc-nav-bg:transparent;
	--ntc-nav-color:#25282b;
	--ntc-nav-border:#25282b;
	--ntc-dot:#999999;
	--ntc-dot-active:#e60000;

	background:var(--ntc-sec-bg);
	font-family:var(--ntc-font);
	box-sizing:border-box;
	width:100%;
}
.ntc-root{overflow-x:clip;} /* verhindert seitliches Wackeln/Überstand der Seite */
@media (min-width:768px){.ntc-root{overflow-x:visible;}}
.ntc-root *,.ntc-root *::before,.ntc-root *::after{box-sizing:border-box;}
.ntc-inner{
	padding:var(--ntc-sec-padding);
	max-width:var(--ntc-max,1416px);
	margin-left:auto;margin-right:auto;
	--ntc-vis:var(--ntc-vis-d,3);
	--ntc-cols:var(--ntc-cols-d,3);
}
@media (max-width:1279px){.ntc-inner{--ntc-vis:var(--ntc-vis-l,3);--ntc-cols:var(--ntc-cols-l,3);}}
@media (max-width:991px){.ntc-inner{--ntc-vis:var(--ntc-vis-t,2);--ntc-cols:var(--ntc-cols-t,2);}}
@media (max-width:767px){.ntc-inner{--ntc-vis:var(--ntc-vis-m,1.1);--ntc-cols:var(--ntc-cols-m,1);--ntc-gap:16px;}}

.ntc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- Überschrift ---------- */
.ntc-heading{margin:0 0 40px;}
.ntc-headline{color:var(--ntc-headline-color);font-size:36px;font-weight:700;line-height:1.2;margin:0 0 22px;padding:0;}
.ntc-subline{display:flex;align-items:center;gap:12px;color:var(--ntc-subline-color);font-size:24px;font-weight:700;line-height:1.3;margin:0;padding:0;}
.ntc-subline-icon{flex:0 0 auto;}
.ntc-align-center .ntc-heading{text-align:center;}
.ntc-align-center .ntc-subline{justify-content:center;}

/* ---------- Grid ---------- */
.ntc-grid{
	display:grid;
	grid-template-columns:repeat(var(--ntc-cols),minmax(0,1fr));
	gap:var(--ntc-gap);
	align-items:stretch;
}
.ntc-card-wrap{display:flex;min-width:0;}

/* ---------- Karte ---------- */
.ntc-card{
	position:relative;
	display:flex;
	flex-direction:column;
	width:100%;
	background:var(--ntc-card-bg);
	border-radius:var(--ntc-card-radius);
	box-shadow:var(--ntc-card-shadow);
	overflow:hidden;
	margin:0;
	transition:box-shadow .25s ease,transform .25s ease;
}
@media (hover:hover){
	.ntc-card:hover{box-shadow:0 6px 22px rgba(0,0,0,.18);}
}

.ntc-badge{
	position:absolute;top:0;left:0;z-index:2;
	background:var(--ntc-badge-bg);color:var(--ntc-badge-color);
	font-size:13px;font-weight:700;line-height:1;
	padding:7px 14px;border-bottom-right-radius:8px;
}

/* Kopf (weiß) */
.ntc-top{padding:26px var(--ntc-card-pad-x) 20px;}
.ntc-badge + .ntc-top{padding-top:40px;}
.ntc-provider{color:var(--ntc-provider-color);font-size:15px;font-weight:600;line-height:1.3;margin-bottom:2px;}
.ntc-head{margin:0;padding:0;font:inherit;display:flex;flex-direction:column;}
.ntc-tariff{color:var(--ntc-tariff-color);font-size:18px;font-weight:400;line-height:1.25;}
.ntc-gb{color:var(--ntc-gb-color);font-size:48px;font-weight:800;line-height:1;letter-spacing:-.5px;margin-top:2px;}

/* Feature-Bereich (grau) */
.ntc-features{
	background:var(--ntc-feat-bg);
	padding:22px var(--ntc-card-pad-x) 26px 17px;
	flex:1 1 auto;
}
.ntc-feat-intro{color:var(--ntc-intro-color);font-size:17px;line-height:1.35;margin:0 0 22px;}
.ntc-feat-list{list-style:none;margin:0;padding:0;}
.ntc-feat{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;padding:0;}
.ntc-feat:last-child{margin-bottom:0;}
.ntc-feat::before{content:none;}
.ntc-feat-icon{flex:0 0 auto;color:var(--ntc-check);line-height:0;margin-top:3px;}
.ntc-feat-icon svg{display:block;}
.ntc-feat-txt{min-width:0;font-size:17px;line-height:1.3;color:var(--ntc-feat-color);}
.ntc-feat-title{color:var(--ntc-feat-color);font-weight:700;}
.ntc-feat-sub{color:var(--ntc-feat-sub-color);font-weight:400;}
.ntc-feat-stacked .ntc-feat-txt{display:flex;flex-direction:column;}
.ntc-feat-stacked .ntc-feat-sub{font-size:.88em;opacity:.8;}

/* Unterer Bereich (weiß) */
.ntc-bottom{padding:20px var(--ntc-card-pad-x) 34px;margin-top:auto;}
.ntc-price-wrap{display:flex;flex-direction:column;align-items:flex-start;}
.ntc-price-row{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:12px;row-gap:6px;}
.ntc-price{color:var(--ntc-price-color);font-size:48px;font-weight:800;line-height:1;white-space:nowrap;letter-spacing:-.5px;}
.ntc-price-num{font-size:1em;}
.ntc-price-cur{font-size:.58em;margin-left:.15em;}
.ntc-old{
	color:var(--ntc-old-color);
	font-size:20px;font-weight:700;line-height:1;white-space:nowrap;
	text-decoration:line-through;
	text-decoration-color:var(--ntc-old-color);
	text-decoration-thickness:2px;
}
.ntc-discount{
	align-self:center;
	display:inline-block;
	background:var(--ntc-discount-bg);color:var(--ntc-discount-color);
	font-size:13px;font-weight:700;line-height:1;
	padding:5px 8px;border-radius:4px;white-space:nowrap;
}
.ntc-price-suffix{color:var(--ntc-suffix-color);font-size:17px;line-height:1.3;margin-top:6px;}
.ntc-price-info{color:var(--ntc-suffix-color);font-size:13px;line-height:1.35;margin-top:4px;opacity:.75;}
.ntc-note{color:var(--ntc-note-color);font-size:14px;line-height:1.45;margin:12px 0 0;}
.ntc-note-b{font-weight:700;}

/* Button */
.ntc-btn{
	display:flex;align-items:center;justify-content:center;
	width:100%;min-height:50px;
	margin-top:22px;
	background:var(--ntc-btn-bg);color:var(--ntc-btn-color)!important;
	font-size:19px;font-weight:400;line-height:1.2;
	text-align:center;text-decoration:none!important;
	padding:12px 16px;
	border-radius:var(--ntc-btn-radius);
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation; /* kein 300ms Tap-Delay */
	transition:background-color .15s ease,transform .1s ease;
}
.ntc-btn:hover,.ntc-btn:focus-visible{background:var(--ntc-btn-hover);}
.ntc-btn:active{transform:scale(.985);}
.ntc-btn:focus-visible{outline:2px solid var(--ntc-btn-bg);outline-offset:2px;}
.ntc-btn-nolink{cursor:default;opacity:.6;}

/* Links */
.ntc-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:10px;}
.ntc-link{
	color:var(--ntc-link)!important;
	font-size:17px;line-height:1.3;text-decoration:none;
	display:inline-flex;align-items:center;gap:5px;
	touch-action:manipulation;
}
.ntc-link:hover,.ntc-link:focus-visible{color:var(--ntc-link-hover)!important;text-decoration:underline;}
.ntc-ext{flex:0 0 auto;}

/* Zentrierte Variante */
.ntc-align-center .ntc-top,.ntc-align-center .ntc-bottom{text-align:center;}
.ntc-align-center .ntc-head{align-items:center;}
.ntc-align-center .ntc-price-wrap,.ntc-align-center .ntc-links{align-items:center;}
.ntc-align-center .ntc-price-row{justify-content:center;}

/* ---------- Carousel (eigener Slider, ohne Fremd-Bibliothek) ---------- */
.ntc-carousel{position:relative;}
.ntc-viewport{overflow:hidden;margin:-12px -12px;padding:0;}
.ntc-track{
	position:relative;
	display:flex;
	gap:var(--ntc-gap);
	overflow-x:auto;
	overflow-y:hidden;
	padding:12px;           /* Platz für Schatten */
	scroll-padding:0 12px;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	overscroll-behavior-x:contain;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	outline:none;
}
.ntc-track::-webkit-scrollbar{display:none;}
.ntc-track > .ntc-card-wrap{
	flex:0 0 calc((100% - var(--ntc-gap) * (var(--ntc-vis) - 1)) / var(--ntc-vis));
	scroll-snap-align:start;
}
@media (max-width:767px){ /* nur Mobil */
	.ntc-track.ntc-end-space::after{
		content:"";
		flex:0 0 max(0px, calc((100% - (100% - var(--ntc-gap) * (var(--ntc-vis) - 1)) / var(--ntc-vis)) / 2 - var(--ntc-gap)));
	}
	/* letzte Karte am Ende perfekt mittig */
	.ntc-track.ntc-end-space > .ntc-card-wrap:last-child{scroll-snap-align:center;}
}
.ntc-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none;}
.ntc-track.is-dragging a{pointer-events:none;}
@media (prefers-reduced-motion:reduce){.ntc-track{scroll-behavior:auto;}}

.ntc-controls{
	display:flex;align-items:center;justify-content:space-between;
	gap:12px;margin-top:22px;
}
.ntc-no-overflow .ntc-controls{display:none;}
.ntc-ctrl-spacer{width:50px;flex:0 0 auto;}
.ntc-arrow{
	flex:0 0 auto;
	width:50px;height:50px;padding:0;
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--ntc-nav-bg);color:var(--ntc-nav-color);
	border:1.5px solid var(--ntc-nav-border);border-radius:50%;
	cursor:pointer;line-height:0;
	touch-action:manipulation;
	transition:background-color .2s ease,opacity .2s ease,color .2s ease;
}
.ntc-arrow:hover{background:var(--ntc-nav-color);color:#fff;}
.ntc-arrow[disabled]{opacity:.3;cursor:default;background:var(--ntc-nav-bg);color:var(--ntc-nav-color);}
.ntc-arrow svg{display:block;}

.ntc-dots{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:12px;}
.ntc-dot{
	width:10px;height:10px;padding:0;margin:0;border:0;border-radius:50%;
	background:var(--ntc-dot);opacity:.55;cursor:pointer;
	transition:background-color .2s ease,opacity .2s ease,transform .2s ease;
}
.ntc-dot.is-active{background:var(--ntc-dot-active);opacity:1;transform:scale(1.4);}

@media (max-width:767px){
	.ntc-gb,.ntc-price{font-size:40px;}
	.ntc-headline{font-size:26px;margin-bottom:14px;}
	.ntc-subline{font-size:18px;}
	.ntc-heading{margin-bottom:24px;}
	.ntc-feat-intro,.ntc-feat-txt,.ntc-price-suffix,.ntc-link{font-size:15px;}
	.ntc-btn{font-size:17px;}
	.ntc-tariff{font-size:16px;}
	.ntc-arrow{width:42px;height:42px;}
	.ntc-ctrl-spacer{width:42px;}
}
