/*
Theme Name: Taffee Entertainment
Theme URI: https://www.taffee.ca/
Author: Taffee Entertainment
Description: Playful kids'-party block theme for Taffee Entertainment, ported from the original Wix site. Bright candy palette, confetti-friendly layout, rainbow footer. Child theme of Twenty Twenty-Five.
Template: twentytwentyfive
Version: 0.2.3
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: taffee
*/

/* ---------------------------------------------------------------------------
   Most styling is driven by theme.json. This stylesheet only carries the few
   things theme.json can't express: the rainbow footer band, the pill nav, and
   a hook for the (client-supplied) confetti background.
   --------------------------------------------------------------------------- */

/* Optional confetti background — drop the supplied pattern in assets/ and
   uncomment. Until then the base white from theme.json is used.
body {
	background-image: url( "assets/images/confetti-bg.png" );
	background-repeat: repeat;
	background-attachment: fixed;
}
*/

/* Rainbow diagonal-stripe footer band (decorative flourish from the Wix site). */
.taffee-rainbow {
	background-image: repeating-linear-gradient(
		45deg,
		#d61043 0, #d61043 40px,
		#ff8a00 40px, #ff8a00 80px,
		#ffd23f 80px, #ffd23f 120px,
		#1fbf75 120px, #1fbf75 160px,
		#0ea5e9 160px, #0ea5e9 200px,
		#7c3aed 200px, #7c3aed 240px
	);
	min-height: 56px;
}

/* Rounded "pill" navigation items, matching the original site's nav. */
.wp-block-navigation .wp-block-navigation-item__content {
	border-radius: 999px;
	padding: 0.35rem 0.9rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.wp-block-navigation .wp-block-navigation-item:hover .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
	background-color: var( --wp--preset--color--primary );
	color: #ffffff;
}

/* Pricing / service cards: subtle lift so they read as cards over any background. */
.taffee-card {
	box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.08 );
}

/* ============================================================================
   Packages — "Our Services" card grid. Self-contained component: the markup
   only needs `taffee-packages` on the section, `taffee-packages__grid` on the
   grid wrapper, and `taffee-packages__card` on each card. The badge,
   description, price and button are all styled from here.
   ============================================================================ */

/* Break the section out to the full window width — the page content column is
   otherwise capped at 720px, which crams the cards. Shared by Packages, Fees
   and the home Hero. */
.taffee-packages,
.taffee-fees,
.taffee-hero {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	padding: 0 1.5rem;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* Centered card grid: two wide cards per row on desktop, one on small screens. */
.taffee-packages__grid {
	max-width: 1000px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 340px, 1fr ) );
	gap: 2rem;
	align-items: stretch;
}

/* Neutralise WordPress's flow-layout top margins so the grid `gap` owns spacing
   (otherwise cards 2 & 4 are nudged lower than 1 & 3). */
.taffee-packages__grid > * {
	margin-block: 0 !important;
}

/* Each card: equal height, vertical flow, subtle lift. */
.taffee-packages__card {
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.08 );
}

/* Number badge — the first paragraph in the card — drawn as a small circle. */
.taffee-packages__card > p:first-of-type {
	width: 2.6rem;
	height: 2.6rem;
	flex: 0 0 auto;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	border-radius: 50%;
	font-weight: 700;
	line-height: 1;
}

/* Description reserves a consistent height (≈3 lines) so the price and button
   land in the same place on every card, whatever the text length. */
.taffee-packages__card > .has-small-font-size {
	min-height: 4.8em;
}

/* Home hero photo. */
.taffee-hero-photo img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba( 0, 0, 0, 0.12 );
}

/* Contact page photo. */
.taffee-contact-photo img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.08 );
}

/* ============================================================================
   Travel Fees — three tier cards (shares the full-width band above). Cards are
   equal height with their content centered, so the tiers line up tidily even
   though each lists a different number of cities.
   ============================================================================ */
.taffee-fees__grid {
	max-width: 940px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 240px, 1fr ) );
	gap: 1.5rem;
	align-items: stretch;
}
.taffee-fees__grid > * {
	margin-block: 0 !important;
}
.taffee-fees__card {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.5rem;
	box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.08 );
}
