	:root {

		/* =========================================================
			 TYPOGRAPHY & CORE THEME SETTINGS (ROOT 1 – UNIQUE)
			 ========================================================= */

		--theme-font-family: var(--theme-font-stack-default);
		--theme-font-weight: 400;
		--theme-text-transform: none;
		--theme-text-decoration: none;
		--theme-font-size: 16px;
		--theme-line-height: 1.65;
		--theme-letter-spacing: 0em;

		--theme-button-font-weight: 500;
		--theme-button-font-size: 15px;

		--has-classic-forms: var(--true);
		--has-modern-forms: var(--false);

		/* =========================================================
			 ASPECT RATIOS (ROOT 1)
			 ========================================================= */

		--wp--preset--aspect-ratio--square: 1;
		--wp--preset--aspect-ratio--4-3: 4/3;
		--wp--preset--aspect-ratio--3-4: 3/4;
		--wp--preset--aspect-ratio--3-2: 3/2;
		--wp--preset--aspect-ratio--2-3: 2/3;
		--wp--preset--aspect-ratio--16-9: 16/9;
		--wp--preset--aspect-ratio--9-16: 9/16;

		/* =========================================================
			 BLOCKSY PALETTE (ROOT 2 – OVERRIDES)
			 ========================================================= */
		--theme-palette-color-0 :var(--primary); 
		--theme-palette-color-1: #ff6f91;
		--theme-palette-color-2: #e84a5f;
		--theme-palette-color-3: #ff4d4f;
		--theme-palette-color-4: #ffd6de;
		--theme-palette-color-5: #fff1f4;
		--theme-palette-color-6: #5f5f6e;
		--theme-palette-color-7: #2b2b3a;
		--theme-palette-color-8: #ffffff;

		/* =========================================================
			 SEMANTIC COLORS (ROOT 2 – PRIORITY)
			 ========================================================= */

		--primary: var(--theme-palette-color-1);
		--primary-hover: var(--theme-palette-color-2);
		--accent: var(--theme-palette-color-3);
		--accent-soft: var(--theme-palette-color-4);

		--light-bg: var(--theme-palette-color-5);
		--text-base: var(--theme-palette-color-6);
		--text-heading: var(--theme-palette-color-7);
		--white: var(--theme-palette-color-8);
			--primary-alt: var(--primary)
		--black: #000000;
		--dark: #222222;
		--darkgrey: #111111;

		--danger: #e53935;
		--success: #00b894;
		--bg2 :#bcb8d8;

		/* =========================================================
			 TEXT, LINKS & UI (ROOT 2 OVERRIDES)
			 ========================================================= */

		--theme-text-color: var(--text-base);
		--theme-headings-color: var(--text-heading);

		--theme-link-initial-color: var(--primary);
		--theme-link-hover-color: var(--primary-hover);

		--theme-selection-text-color: var(--white);
		--theme-selection-background-color: var(--primary);

		/* =========================================================
			 BORDERS & FORMS (MERGED)
			 ========================================================= */

		--theme-border-color: var(--accent-soft);

		--theme-form-field-border-initial-color: var(--accent-soft);
		--theme-form-field-border-focus-color: var(--primary);
		--theme-form-selection-field-initial-color: var(--accent-soft);
		--theme-form-selection-field-active-color: var(--primary);

		--border-light: #dddddd;
		--border-soft: #f1c2c7;

		/* =========================================================
			 BUTTONS (ROOT 2 PRIORITY)
			 ========================================================= */

		--theme-button-min-height: 40px;
		--theme-button-border: none;
		--theme-button-transform: none;

		--theme-button-text-initial-color: var(--white);
		--theme-button-text-hover-color: var(--white);

		--theme-button-background-initial-color: var(--accent);
		--theme-button-background-hover-color: var(--primary-hover);

		--theme-button-padding: 14px 28px;
		--theme-button-border-radius: 28px;

		--theme-button-shadow:
			0 8px 20px rgba(255, 77, 79, 0.25);

		/* =========================================================
			 SHADOWS
			 ========================================================= */
		--plp-hero-bg: var(--theme-palette-color-2);
		--plp-hero-text : var(--theme-palette-color-8);
		--shadow-soft: rgba(0, 0, 0, 0.06);
		--shadow-border: rgba(44, 62, 80, 0.05);
		--shadow-cta: rgba(255, 77, 79, 0.25);

		/* =========================================================
			 BACKGROUNDS & SECTIONS
			 ========================================================= */

		--site-background: var(--white);
		--section-background-soft: var(--light-bg);
		--card-background: var(--white);

		/* =========================================================
			 HEADER / FOOTER (ROOT 1 + ROOT 2)
			 ========================================================= */

		--header-menu-underline: var(--primary);
		--topbar-bg: var(--darkgrey);

		--footer-background: var(--primary-hover);
		--footer-text: var(--white);
		--footer-link: var(--white);
		--footer-link-hover: var(--accent-soft);
		--footer-border-color: var(--primary-hover);
		--footer-shadow-color: rgba(44, 62, 80, 0.05);

		/* =========================================================
			 EMAIL SIGNUP
			 ========================================================= */

		--signup-gradient-start: #ff6f7d;
		--signup-gradient-end: #ff8fa3;
		--signup-text: var(--white);
		--signup-form-bg: var(--white);

		/* =========================================================
			 GOOGLE REVIEWS
			 ========================================================= */

		--review-card-bg: var(--white);
		--review-shadow: rgba(0, 0, 0, 0.06);

		--rating-number-color: var(--text-heading);
		--rating-text-color: var(--theme-text-color);
		--star-color: #f5b301;

		--google-btn-bg: #ff4d4f;
		--google-btn-bg-hover: #e84a5f;

		/* =========================================================
			 WOOCOMMERCE
			 ========================================================= */

		--wc-price-color: var(--text-heading);
		--wc-sale-badge-bg: var(--primary);
		--wc-sale-badge-text: var(--white);
		--wc-rating-star-color: #f4a261;

		--wc-input-border: var(--accent-soft);
		--wc-input-focus: var(--primary);

		/* =========================================================
			 DARK MODE
			 ========================================================= */

		--dark-bg: #1f1f2e;
		--dark-card-bg: #2b2b3a;
		--dark-text: #eaeaf0;
		--dark-border: #3a3a4d;

		/* Font scale – semantic + scalable */
		--fs-xs: 12px;
		--fs-sm: 14px;
		--fs-md: 16px;   /* base */
		--fs-lg: 18px;
		--fs-xl: 20px;
		--fs-2xl: 24px;
		--fs-3xl: 30px;
		--fs-4xl: 36px;
		--fs-5xl: 42px;
		/* Spacing – 8pt rhythm */
		--sp-2xs: 4px;
		--sp-xs: 8px;
		--sp-sm: 12px;
		--sp-md: 16px;
		--sp-lg: 24px;
		--sp-xl: 32px;
		--sp-2xl: 48px;
		--sp-3xl: 64px;
		--sp-4xl: 80px;

		/* Border radius */
		--radius-sm: 6px;
		--radius-md: 10px;
		--radius-lg: 18px;
		--radius-xl: 28px;
		--radius-round: 50%;
		--alignment : left;


        --img-border-color: var(--border-light);
		--remove-btn-bg: var(--danger);
		--remove-btn-text: var(--white);
		--danger-bg: var(--danger);
		--danger-text: var(--white);
		--light-alt: var(--light-bg);
		--btn-primary-bg: var(--primary);
		--btn-primary-text: var(--white);
	}


	/* =========================================================
		 RESET
		 ========================================================= */
	body {
		margin: 0;
		padding: 0;
		background: var(--white);
	}

	/* =========================================================
		 HEADER / MENU
		 ========================================================= */

	[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a {
		--theme-text-transform: none;
		--theme-font-weight: 300;
	}

	[data-header*="type-1"] .ct-header [data-id="menu"] a::after {
		content: '';
		position: absolute;
		bottom: -6px;
		left: 0;
		width: 0;
		height: 2px;
		background: var(--primary);
		transition: .3s;
	}

	.ct-header [data-id="menu"] a:hover::after,
	.ct-header [data-id="menu"] a[aria-current="page"]::after {
		width: 100%;
	}


	/* =========================================================
		 TOP BAR
		 ========================================================= */

	.top-bar {
		background: var(--darkgrey);
		color: var(--white);
		font-size: 13px;
	}

	.top-bar-inner {
		display: flex;
		justify-content: space-between;
		padding: 8px 20px;
	}
	#header{
		border-bottom: solid 1px var(--primary);
	    position: fixed!important;
        width: 100%;
	}
	 #main-container .site-main {
        margin-top: 156px;
    }
    @media (max-width: 768px) {
        #main-container .site-main {
            margin-top: 95px;
        }
    }


	/* ================= HEADER / MENU ================= */
	[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a {
		--theme-text-transform: none;
		--theme-font-weight: 300;
		margin: 0 10px;
	}

	[data-header*="type-1"] .ct-header [data-id="menu"] a::after {
		content: '';
		position: absolute;
		bottom: -6px;
		left: 0;
		width: 0;
		height: 2px;
		background: var(--header-menu-underline);
		transition: .3s;
	}

	.ct-header [data-id="menu"] a:hover::after,
	.ct-header [data-id="menu"] a[aria-current="page"]::after {
		width: 100%;
	}

	/* ================= TOP BAR ================= */
	.top-bar {
		background: var(--topbar-bg);
		color: var(--footer-text);
		font-size: 13px;
	}

	.top-bar-inner {
		display: flex;
		justify-content: space-between;
		padding: 8px 20px;
	}

	
	/* =========================================================
		 FOOTER
	========================================================= */

	#footer [data-row="middle"] {
	    background: var(--white);
		border-top: 1px solid var(--primary-dark);
		border-bottom: 1px solid var(--primary-dark);
		box-shadow: 4px 35px 16px 29px var(--shadow-border);
	}

	.footer-bottom {
		color: var(--white);
	}

	/* ================= FOOTER CONTENT ================= */
	.footer-col h4,
	.footer-col a,
	.footer-col p {
		color: var(--footer-text);
	}
	.footer-col ul{
			margin: 0;
			padding: 0;
			list-style-type: none;
	}
	.footer-col a {
		text-decoration: none;
		transition: .3s;
		padding: 5px 0;
	display: block;
	}

	/* ================= TRUST STRIP ================= */
	.footer-trust {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		padding: 20px;
		text-align: center;
		color: var(--black);
	}
    .footer-middle {
        margin-bottom:0
    }

@media (min-width:1024px) and (max-width:1200px) {
  .ct-menu-link {
    max-width: 115px;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
	margin: 0 5px !important;
  }
}


	/* ===== MAIN SERVICE ===== */
	.service-main {
		display: grid;
		grid-template-columns: 1fr 1.2fr;
		gap: 40px;
		align-items: center;
		margin-bottom: 70px;
	}

	.service-image img {
		width: 100%;
		border-radius: 20px;
	}

	.service-content h3 {
		font-size: 26px;
		color: var(--text-heading);
		margin-bottom: 14px;
	}

	.service-content p {
		font-size: 15px;
		color: var(--theme-text-color);
		line-height: 1.7;
		margin-bottom: 14px;
	}

	.btn-primary {
		display: inline-block;
		background: var(--accent);
		color: var(--white);
		padding: 12px 28px;
		border-radius: 30px;
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
		transition: all 0.3s ease;
	}

	.btn-primary:hover {
		background: var(--primary-hover);
		transform: translateY(-2px);
		color:#fff;
	}

	/* ===== SERVICE CARDS ===== */
	.service-cards {
		background: var(--section-background-soft);
		border-radius: 26px;
		padding: 50px 30px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 30px;
		text-align: center;
	}

	.card {
		padding: 20px;
	}

	.card-icon {
		font-size: 36px;
		color: var(--primary);
		display: block;
		margin-bottom: 12px;
	}

	.card h4 {
		font-size: 18px;
		color: var(--text-heading);
		margin-bottom: 8px;
	}

	.card p {
		font-size: 14px;
		color: var(--theme-text-color);
		line-height: 1.6;
	}

	/* ===== RESPONSIVE ===== */
	@media (max-width: 900px) {
		.service-main {
			grid-template-columns: 1fr;
			text-align: center;
		}

		.service-content {
			max-width: 600px;
			margin: 0 auto;
		}

		.service-cards {
			grid-template-columns: 1fr;
		}
	}


/* ===============================
		 CAKE IMAGE UPLOAD WRAPPER
	================================ */
	.cake-upload {
		border: 2px dashed var(--theme-border-color);
		border-radius: var(--radius-lg);
		padding: var(--sp-lg);
		background: var(--section-background-soft);
		margin: var(--sp-lg) 0;
	}

	/* LABEL */
	.cake-upload label {
		display: block;
		font-size: var(--fs-md);
		color: var(--theme-headings-color);
		margin-bottom: var(--sp-xs);
	}

	/* HELP TEXT */
	.cake-upload small {
		display: block;
		font-size: var(--fs-xs);
		color: var(--theme-text-color);
		margin-top: var(--sp-xs);
	}

	/* FILE INPUT */
	.cake-upload input[type="file"] {
		display: block;
		width: 100%;
		padding: var(--sp-sm);
		margin: var(--sp-sm) 0;
		font-size: var(--fs-sm);
		background: var(--white);
		border: 1px solid var(--theme-border-color);
		border-radius: var(--radius-md);
		cursor: pointer;
	}

    /* ===============================
		 PREVIEW GRID
	================================ */
	#cake-preview-list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
		gap: var(--sp-md);
		margin-top: var(--sp-md);
	}

	/* SINGLE IMAGE CARD */
	.cake-preview-item {
		position: relative;
		background: var(--white);
		border-radius: var(--radius-md);
		overflow: hidden;
		box-shadow: 0 8px 20px var(--shadow-soft);
		aspect-ratio: 1 / 1;
		transition: transform 0.25s ease, box-shadow 0.25s ease;
	}

	.cake-preview-item:hover {
		transform: translateY(-4px);
		box-shadow: 0 14px 30px var(--shadow-soft);
	}

	/* IMAGE */
	.cake-preview-item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* ===============================
		 REMOVE BUTTON (×)
	================================ */
	.cake-remove {
		position: absolute;
		top: var(--sp-xs);
		right: var(--sp-xs);
		width: 26px;
		height: 26px;
		border-radius: var(--radius-round);
		background: var(--danger);
		color: var(--white);
		font-size: var(--fs-md);
		line-height: 26px;
		text-align: center;
		cursor: pointer;
		box-shadow: 0 4px 10px rgba(0,0,0,0.2);
		transition: transform 0.2s ease, background 0.2s ease;
	}

	.cake-remove:hover {
		background: var(--primary-hover);
		transform: scale(1.1);
	}

	/* ===============================
		 MOBILE FRIENDLY
	================================ */
	@media (max-width: 600px) {
		#cake-preview-list {
			grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
		}
	}
.cake-highlights {
		background: var(--section-background-soft);
		border: 1px solid var(--theme-border-color);
		border-radius: 14px;
		padding: 22px 24px;
		margin: 30px 0;
		font-family: inherit;
	}

	.ch-title {
		font-size: 20px;
		font-weight: 600;
		color: var(--theme-headings-color);
		margin-bottom: 14px;
		position: relative;
	}

	.ch-title::after {
		content: "";
		width: 60px;
		height: 3px;
		background: var(--accent);
		display: block;
		margin-top: 6px;
		border-radius: 2px;
	}

	.ch-list {
		list-style: none;
		padding: 0;
		margin: 0 0 18px;
	}

	.ch-list li {
		position: relative;
		padding-left: 26px;
		margin-bottom: 10px;
		font-size: 14.5px;
		color: var(--theme-text-color);
		line-height: 1.6;
	}

	.ch-list li::before {
		content: "✔";
		position: absolute;
		left: 0;
		top: 0;
		color: var(--accent);
		font-size: 14px;
		font-weight: bold;
	}

	.ch-note {
		background: var(--white);
		border-left: 4px solid var(--accent);
		padding: 12px 14px;
		font-size: 13.5px;
		color: var(--theme-text-color);
		line-height: 1.6;
		border-radius: 6px;
	}

	.ch-note span {
		font-weight: 600;
		color: var(--primary);
	}

	/* Mobile friendly */
	@media (max-width: 600px) {
		.cake-highlights {
			padding: 18px;
		}

		.ch-title {
			font-size: 18px;
		}

		.ch-list li {
			font-size: 14px;
		}
	}


/* ================================
   PDP Pincode Checker – Themed
================================ */

.pdp-pincode-checker {
    margin-top: var(--sp-md);
    padding: var(--sp-md);
    background: var(--section-background-soft);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--radius-md);
 
    box-shadow: 0 6px 18px var(--shadow-soft);
	margin-bottom:20px;
}

/* Label */
.pdp-pincode-checker label {
    display: block;
    font-size: var(--fs-sm);
    font-weight: 600;
    margin-bottom: var(--sp-xs);
    color: var(--theme-headings-color);
}

/* Input + Button Row */
.pdp-pincode-checker .pincode-wrap {
    display: flex;
    gap: var(--sp-xs);
    align-items: center;
}

/* Input Field */
.pdp-pincode-checker input#pdp_pincode {
    flex: 1;
    height: var(--theme-button-min-height);
    padding: 0 var(--sp-sm);
    border-radius: var(--radius-sm);
    border: 1px solid var(--theme-form-field-border-initial-color);
    font-size: var(--fs-sm);
    color: var(--theme-text-color);
    background: var(--white);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pdp-pincode-checker input#pdp_pincode::placeholder {
    color: color-mix(in srgb, var(--theme-text-color) 55%, transparent);
}

.pdp-pincode-checker input#pdp_pincode:focus {
    outline: none;
    border-color: var(--theme-form-field-border-focus-color);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 30%, transparent);
}

/* Button */
.pdp-pincode-checker button#pdp_check_pincode {
    min-height: var(--theme-button-min-height);
    padding: var(--theme-button-padding);
    background: var(--theme-button-background-initial-color);
    color: var(--theme-button-text-initial-color);
    border: var(--theme-button-border);
    border-radius: var(--theme-button-border-radius);
    font-size: var(--theme-button-font-size);
    font-weight: var(--theme-button-font-weight);
    cursor: pointer;
    white-space: nowrap;
    box-shadow: var(--theme-button-shadow);
    transition: background 0.2s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

.pdp-pincode-checker button#pdp_check_pincode:hover {
    background: var(--theme-button-background-hover-color);
}

.pdp-pincode-checker button#pdp_check_pincode:active {
    transform: translateY(1px);
    box-shadow: 0 4px 10px var(--shadow-cta);
}

/* Result Message */
#pincode_result {
    margin-top: var(--sp-xs);
    
    font-weight: 600;
}

#pincode_result.success {
    color: var(--success);
}

#pincode_result.error {
    color: var(--danger);
}

/* Mobile */
@media (max-width: 480px) {
    .pdp-pincode-checker .pincode-wrap {
        flex-direction: column;
        align-items: stretch;
    }

    .pdp-pincode-checker button#pdp_check_pincode {
        width: 100%;
    }
}



/* ================================
   VARIATIONS — DIV LAYOUT
================================ */

.variations-div {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

/* Each row */
.variations-div .variation-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    align-items: center;
    gap: 12px;
}

/* Label */
.variations-div .variation-label label {
    font-weight: 600;
    font-size: 14px;
    color: var(--theme-headings-color, #222);
}

/* Select / swatch wrapper */
.variations-div .variation-value {
    width: 100%;
}

/* Reset link */
.variations-div .reset_variations {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
    color: var(--theme-link-initial-color);
}

/* Make selects full width */
.variations-div select {
    width: 100%;
    min-height: 44px;
}

/* ================================
   MOBILE
================================ */

@media (max-width: 768px) {

    .variations-div .variation-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .variations-div .variation-label label {
        font-size: 13px;
    }
}


/* ====================================
   HIDE META IN BLOCKSY QUICK VIEW ONLY
==================================== */
.quick-view-modal .product_meta{
    display: none !important;
}

.ct-cart-content .variation-CakeDesignPhotos,
.ct-cart-content .variation-DeliveryDateTime,
.ct-cart-content .variation-MessageonCake{display:none!important}
.ct-cart-content .woocommerce-mini-cart li{
	    align-items: flex-start;
	    border-bottom: 1px solid var(--theme-palette-color-2)!important;
}
	