/* Atelier Booking — Membership plans */
.atm {
	--atm-bg: #241d19;
	--atm-card: #28211c;
	--atm-card-f: #332b25;
	--atm-border: #5a4d44;
	--atm-border-f: #e9e0d3;
	--atm-text: #f7f1e8;
	--atm-muted: #b7aa9d;
	--atm-accent: #c4ab97;
	--atm-accent-text: #241d19;
	--atm-btn-border: #e9e0d3;
	--atm-radius: 0px;
	--atm-serif: "Cormorant Garamond", Georgia, serif;
	--atm-sans: "Karla", system-ui, -apple-system, "Segoe UI", sans-serif;
	background: var(--atm-bg);
	color: var(--atm-text);
	font-family: var(--atm-sans);
	padding: 24px;
	box-sizing: border-box;
}
.atm--light {
	--atm-bg: #faf7f2;
	--atm-card: #fffdfa;
	--atm-card-f: #f3ece2;
	--atm-border: #e4ddd0;
	--atm-border-f: #5c4a3d;
	--atm-text: #2a221d;
	--atm-muted: #6f6359;
	--atm-accent: #5c4a3d;
	--atm-accent-text: #ffffff;
	--atm-btn-border: #5c4a3d;
	--atm-radius: 6px;
}
.atm *, .atm *::before, .atm *::after { box-sizing: border-box; }

/* Header */
.atm-head { margin-bottom: 28px; }
.atm-eyebrow { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--atm-accent); margin: 0 0 8px; }
.atm--light .atm-eyebrow { color: var(--atm-muted); }
.atm-h2 { font-family: var(--atm-serif); font-weight: 400; font-size: 48px; line-height: 1.1; margin: 0; color: var(--atm-text); }

/* Grid */
.atm-grid { display: grid; gap: 32px; align-items: stretch; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.atm-cols-1 { grid-template-columns: minmax(0, 1fr); }
.atm-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.atm-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.atm-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Card */
.atm-card {
	display: flex; flex-direction: column; padding: 30px;
	background: var(--atm-card); border: 1px solid var(--atm-border); border-radius: var(--atm-radius);
}
.atm-card.is-featured { background: var(--atm-card-f); border-color: var(--atm-border-f); }
.atm-badge {
	align-self: flex-start; margin: 0 0 18px; padding: 5px 10px; background: var(--atm-accent); color: var(--atm-accent-text);
	font-size: 10px; letter-spacing: .2em; text-transform: uppercase; line-height: 1.2;
}
.atm-title { font-family: var(--atm-serif); font-weight: 400; font-size: 32px; line-height: 1.15; margin: 0 0 14px; color: var(--atm-text); }
.atm-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; font-family: var(--atm-serif); font-size: 38px; line-height: 1.1; margin: 0 0 14px; color: var(--atm-text); }
.atm-amount { white-space: nowrap; }
.atm-price small { font-family: var(--atm-sans); font-size: 13px; color: var(--atm-muted); white-space: nowrap; }
.atm-price--soon { font-style: italic; font-size: 24px; color: var(--atm-muted); white-space: normal; }
.atm-desc { font-size: 14px; line-height: 1.6; color: var(--atm-muted); font-weight: 600; margin: 0 0 20px; }

/* Included classes */
.atm-list { list-style: none; margin: 0 0 28px; padding: 0; }
.atm-list li {
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
	padding: 11px 0; border-bottom: 1px solid var(--atm-border);
}
.atm-item { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--atm-text); }
.atm-detail { font-style: normal; font-size: 11px; font-weight: 700; color: var(--atm-muted); text-align: right; }

/* Button — pinned to the bottom so all cards line up */
.atm-foot { margin-top: auto; padding-top: 8px; }
.atm-btn {
	display: block; width: 100%; padding: 14px 16px; cursor: pointer; text-align: center;
	background: transparent; color: var(--atm-text); border: 1px solid var(--atm-btn-border); border-radius: 0;
	font-family: var(--atm-sans); font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase;
	transition: opacity .15s, background .15s;
}
.atm-btn:hover:not(:disabled) { opacity: .85; }
.atm-card.is-featured .atm-btn:not(:disabled) { background: var(--atm-accent); border-color: var(--atm-accent); color: var(--atm-accent-text); }
.atm-btn:disabled { cursor: not-allowed; color: var(--atm-muted); border-color: var(--atm-border); opacity: .7; }

.atm-empty { padding: 48px 16px; text-align: center; color: var(--atm-muted); border: 1px dashed var(--atm-border); font-size: 15px; }

/* Notes */
.atm-notes {
	list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 48px; font-size: 12px; font-weight: 600; color: var(--atm-muted);
}
.atm-notes li { position: relative; padding-left: 14px; line-height: 1.5; }
.atm-notes li::before { content: "•"; position: absolute; left: 0; }

/* Responsive (Elementor's own Columns setting overrides these when used) */
@media (max-width: 1024px) {
	.atm-cols-3, .atm-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.atm { padding: 16px; }
	.atm-grid, .atm-cols-2, .atm-cols-3, .atm-cols-4 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.atm-h2 { font-size: 36px; }
	.atm-notes { grid-template-columns: minmax(0, 1fr); }
	.atm-price { font-size: 34px; }
}
