/* SAFEWAY Product Catalogue Frontend Styles */

/* Base & Typography inheritance */
.sfw-catalogue-wrapper {
	font-family: inherit;
	color: inherit;
}

.sfw-catalogue-wrapper * {
	box-sizing: border-box;
}

/* Category Header */
.sfw-category-header {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-bottom: 40px;
	padding: 30px;
	background: #fdfdfd;
	border: 1px solid #eaeaea;
	border-radius: 8px;
}
@media (min-width: 768px) {
	.sfw-category-header {
		flex-direction: row;
		align-items: flex-start;
	}
	.sfw-category-hero-image {
		flex: 0 0 35%;
	}
	.sfw-category-content {
		flex: 1;
	}
}
.sfw-category-hero-image img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}
.sfw-category-title {
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 2em;
	font-weight: 700;
}
.sfw-category-description {
	margin-bottom: 20px;
	font-size: 1.1em;
	line-height: 1.6;
	color: #555;
}
.sfw-category-meta-blocks {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 20px;
}
.sfw-highlights-list, .sfw-applications-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sfw-highlights-list li, .sfw-applications-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
}
.sfw-highlights-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #27ae60;
	font-weight: bold;
}
.sfw-applications-title {
	font-size: 1.1em;
	margin-bottom: 10px;
	margin-top: 0;
}

/* Toolbar (Search & Filters) */
.sfw-catalogue-toolbar {
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin-bottom:36px;
	justify-content:space-between;
	background:#fff;
	padding:16px;
	border-radius:12px;
	border:1px solid var(--sw-line, #DCE2E8);
	box-shadow:0 4px 16px rgba(15,36,54,0.03);
}
.sfw-search-wrap, .sfw-filter-wrap {
	position:relative;
	flex:1;
	min-width:260px;
}
.sfw-search-wrap { max-width:440px; }
.sfw-filter-wrap { max-width:300px; }
.sfw-search-icon {
	position:absolute;
	left:16px;
	top:50%;
	transform:translateY(-50%);
	width:18px;
	height:18px;
	color:#8ba3b8;
	pointer-events:none;
}
.sfw-search-input {
	width:100%;
	padding:12px 16px 12px 44px !important;
	border:1px solid var(--sw-line, #DCE2E8) !important;
	border-radius:8px !important;
	font-family:inherit;
	font-size:0.95rem !important;
	color:var(--sw-ink, #141A1F);
	background:#fbfcfd;
	transition:all 0.25s ease;
}
.sfw-search-input:focus {
	outline:none;
	border-color:var(--sw-blue, #2663BC) !important;
	box-shadow:0 0 0 3px rgba(38,99,188,0.1);
	background:#fff;
}
/* Custom Select UI */
.sfw-custom-select {
	position:relative;
	width:100%;
	font-family:inherit;
	font-size:0.95rem !important;
	color:var(--sw-ink, #141A1F);
	outline:none;
}
.sfw-select-trigger {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:12px 16px;
	border:1px solid var(--sw-line, #DCE2E8);
	border-radius:8px;
	background:#fbfcfd;
	cursor:pointer;
	transition:all 0.25s ease;
}
.sfw-custom-select:focus .sfw-select-trigger, .sfw-custom-select.open .sfw-select-trigger {
	border-color:var(--sw-blue, #2663BC);
	box-shadow:0 0 0 3px rgba(38,99,188,0.1);
	background:#fff;
}
.sfw-select-options {
	position:absolute;
	top:calc(100% + 6px);
	left:0;
	right:0;
	background:#fff;
	border:1px solid var(--sw-line, #DCE2E8);
	border-radius:8px;
	box-shadow:0 12px 30px rgba(15,36,54,0.08);
	opacity:0;
	visibility:hidden;
	transform:translateY(-10px);
	transition:all 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
	z-index:100;
	max-height:280px;
	overflow-y:auto;
}
.sfw-custom-select.open .sfw-select-options {
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
.sfw-option {
	padding:12px 16px;
	cursor:pointer;
	transition:background 0.2s ease, color 0.2s ease;
	border-bottom:1px solid #f4f7f9;
}
.sfw-option:last-child {
	border-bottom:none;
}
.sfw-option:hover {
	background:#f7f9fb;
}
.sfw-option.selected {
	background:#f0f5fc;
	color:var(--sw-blue, #2663BC);
	font-weight:600;
}
.sfw-filter-icon {
	width:16px;
	height:16px;
	color:#8ba3b8;
	pointer-events:none;
	transition:transform 0.25s ease;
}
.sfw-custom-select.open .sfw-filter-icon {
	transform:rotate(180deg);
}
@media(max-width:640px) {
	.sfw-search-wrap, .sfw-filter-wrap { max-width:100%; min-width:100%; }
}

/* Grid System */
.sfw-grid {
	display: grid;
	gap: 20px;
}
.sfw-columns-1 { grid-template-columns: 1fr; }
.sfw-columns-2 { grid-template-columns: repeat(2, 1fr); }
.sfw-columns-3 { grid-template-columns: repeat(3, 1fr); }
.sfw-columns-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
	.sfw-columns-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.sfw-columns-4, .sfw-columns-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.sfw-columns-4, .sfw-columns-3, .sfw-columns-2 { grid-template-columns: 1fr; }
}

/* Product Card */
.sfw-product-card {
	display: flex;
	flex-direction: column;
	border: 1px solid #eaeaea;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
}
.sfw-product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.sfw-product-image {
	position: relative;
	width: 100%;
	padding-top: 75%; /* 4:3 Aspect Ratio */
	overflow: hidden;
	background: #f9f9f9;
}
.sfw-product-image img, .sfw-placeholder-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.sfw-product-card:hover .sfw-product-image img {
	transform: scale(1.03);
}
.sfw-placeholder-image {
	background-color: #f1f1f1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sfw-placeholder-image::after {
	content: "Image Unavailable";
	color: #999;
	font-size: 0.9em;
}

.sfw-product-details {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.sfw-product-brand {
	font-size: 0.8em;
	text-transform: uppercase;
	color: #888;
	margin-bottom: 5px;
	letter-spacing: 0.5px;
}
.sfw-product-title {
	margin: 0 0 10px 0;
	font-size: 1.2em;
	font-weight: 600;
	line-height: 1.3;
}
.sfw-product-description {
	font-size: 0.95em;
	color: #666;
	margin-bottom: 15px;
	flex: 1;
}
.sfw-product-code {
	font-size: 0.85em;
	color: #444;
	font-family: monospace;
	background: #f4f4f4;
	padding: 4px 8px;
	border-radius: 4px;
	display: inline-block;
	margin-bottom: 20px;
	align-self: flex-start;
}

/* Category Card */
.sfw-category-card {
	display: flex;
	flex-direction: column;
	border: 1px solid #eaeaea;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sfw-category-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.sfw-category-card-image {
	position: relative;
	width: 100%;
	padding-top: 60%;
	overflow: hidden;
	background: #f9f9f9;
}
.sfw-category-card-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sfw-category-card-content {
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.sfw-category-card-title {
	margin: 0;
	font-size: 1.1em;
	font-weight: 600;
}
.sfw-category-card-count {
	font-size: 0.85em;
	color: #888;
	background: #f1f1f1;
	padding: 3px 8px;
	border-radius: 12px;
}

/* Buttons */
.sfw-product-actions {
	display: flex;
	gap: 10px;
	margin-top: auto;
}
.sfw-btn {
	display: inline-block;
	padding: 10px 16px;
	border-radius: 4px;
	text-decoration: none;
	text-align: center;
	font-weight: 500;
	font-size: 0.9em;
	cursor: pointer;
	border: 1px solid transparent;
	transition: all 0.2s ease;
	flex: 1;
}
.sfw-btn-whatsapp {
	background-color: #25D366;
	color: #fff !important;
}
.sfw-btn-whatsapp:hover {
	background-color: #1ebe57;
}
.sfw-btn-email {
	background-color: #007bff;
	color: #fff !important;
}
.sfw-btn-email:hover {
	background-color: #0069d9;
}
.sfw-btn-enquiry, .sfw-btn-primary {
	background-color: #333;
	color: #fff !important;
}
.sfw-btn-enquiry:hover, .sfw-btn-primary:hover {
	background-color: #111;
}
.sfw-btn-load-more {
	background: #fdfdfd;
	border: 1px solid #ccc;
	color: #333 !important;
	width: auto;
	padding: 12px 30px;
	font-size: 1em;
}
.sfw-btn-load-more:hover {
	background: #f1f1f1;
}
.sfw-load-more-wrapper {
	text-align: center;
	margin-top: 40px;
}

/* Empty State */
.sfw-empty-state {
	text-align: center;
	padding: 60px 20px;
	background: #fdfdfd;
	border: 1px dashed #ccc;
	border-radius: 8px;
}
.sfw-empty-icon {
	color: #aaa;
	margin-bottom: 20px;
}
.sfw-empty-title {
	font-size: 1.5em;
	margin-bottom: 10px;
}
.sfw-empty-message {
	color: #666;
	margin-bottom: 25px;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

/* Modal */
.sfw-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sfw-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	backdrop-filter: blur(2px);
}
.sfw-modal-content {
	position: relative;
	background: #fff;
	width: 100%;
	max-width: 500px;
	margin: 20px;
	padding: 30px;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.2);
	max-height: 90vh;
	overflow-y: auto;
}
.sfw-modal-close {
	position: absolute;
	top: 15px;
	right: 15px;
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #999;
}
.sfw-modal-close:hover { color: #333; }
.sfw-modal-title {
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 1.5em;
}
.sfw-modal-subtitle {
	color: #666;
	margin-bottom: 20px;
	font-weight: 500;
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
}
.sfw-form-group {
	margin-bottom: 15px;
}
.sfw-form-group label {
	display: block;
	margin-bottom: 5px;
	font-weight: 500;
	color: #444;
}
.sfw-form-group input, .sfw-form-group textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-family: inherit;
	font-size: 1em;
}
.sfw-form-group input:focus, .sfw-form-group textarea:focus {
	outline: none;
	border-color: #999;
}
.sfw-form-messages.success {
	background: #e6f6eb;
	color: #27ae60;
	border: 1px solid #c2e8ce;
}
.sfw-form-messages.error {
	background: #faeaea;
	color: #e74c3c;
	border: 1px solid #f2c7c7;
}

body.sfw-modal-open {
	overflow: hidden;
}

/* Loading States */
.sfw-loading {
	opacity: 0.6;
	pointer-events: none;
}

/* ---- MODERN PRODUCTS GRID ---- */
:root, .sfw-cats {
  --sw-head-font: inherit; 
  --sw-body-font: inherit;
  --sw-green: #67BC44; 
  --sw-green-600: #4E9E32; 
  --sw-green-700: #3E8127;
  --sw-blue: #2663BC; 
  --sw-blue-700: #1D4E96; 
  --sw-navy: #0F2436;
  --sw-ink: #141A1F; 
  --sw-body: #3A4652; 
  --sw-grey: #EEF2F5; 
  --sw-line: #DCE2E8; 
  --sw-ease: cubic-bezier(.22,.61,.36,1);
}

.sfw-modern-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:24px !important; }
.pc { background:#fff !important; border:1px solid var(--sw-line) !important; border-radius:12px !important; overflow:hidden !important; display:flex !important; flex-direction:column !important; position:relative !important; text-decoration:none !important; transition:transform .3s var(--sw-ease),box-shadow .3s,border-color .3s !important; }
.pc:hover { transform:translateY(-6px) !important; box-shadow:0 18px 38px -18px rgba(15,36,54,.25) !important; border-color:var(--sw-line) !important; }
.pc-img { position:relative !important; aspect-ratio:4/3 !important; overflow:hidden !important; background:linear-gradient(150deg,#eef3f7,#e0e8ef) !important; }
.pc-img img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .5s var(--sw-ease) !important; }
.pc:hover .pc-img img { transform:scale(1.06) !important; }
.pc-badge { position:absolute !important; top:16px !important; left:16px !important; z-index:2 !important; font-family:var(--sw-head-font) !important; font-weight:700 !important; font-size:.68rem !important; letter-spacing:.06em !important; text-transform:uppercase !important; color:#fff !important; background:var(--sw-green) !important; padding:6px 12px !important; border-radius:6px !important; box-shadow:0 6px 12px -4px rgba(103,188,68,.5) !important; }
.pc-body { padding:24px 20px !important; display:flex !important; flex-direction:column !important; flex:1 !important; }
.pc-brand { font-family:var(--sw-head-font) !important; font-size:.75rem !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:var(--sw-blue) !important; margin-bottom:8px !important; }
.pc-body h3 { font-size:1.15rem !important; font-weight:700 !important; margin-bottom:8px !important; color:var(--sw-ink) !important; line-height:1.3 !important; margin-top:0 !important; }
.pc-body p { font-size:.9rem !important; color:#5a6b7c !important; line-height:1.6 !important; margin-bottom:24px !important; flex:1 !important; margin-top:0 !important; }
.pc-footer { display:flex !important; align-items:center !important; justify-content:space-between !important; margin-top:auto !important; position:relative !important; z-index:4 !important; }
.pc-enquire { font-family:var(--sw-head-font) !important; font-size:.95rem !important; font-weight:600 !important; color:var(--sw-green) !important; display:inline-flex !important; align-items:center !important; gap:6px !important; }
.pc-enquire svg { width:18px !important; height:18px !important; fill:none !important; stroke:currentColor !important; stroke-width:2.5 !important; transition:transform .25s var(--sw-ease) !important; }
.pc:hover .pc-enquire svg { transform:translateX(5px) !important; }
.pc-actions { display:flex !important; gap:8px !important; }
.pc-btn { width:34px !important; height:34px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:50% !important; background:var(--sw-grey) !important; color:var(--sw-body) !important; transition:transform .25s var(--sw-ease),background .25s,color .25s !important; }
.pc-btn svg { width:16px !important; height:16px !important; display:block !important; margin:0 auto !important; }
.pc-btn.wa:hover { background:#25D366 !important; color:#fff !important; transform:translateY(-2px) !important; }
.pc-btn.em:hover { background:var(--sw-blue) !important; color:#fff !important; transform:translateY(-2px) !important; }

@media(max-width:1024px){ .sfw-modern-grid{grid-template-columns:repeat(3,1fr) !important;} }
@media(max-width:760px){ .sfw-modern-grid{grid-template-columns:1fr 1fr !important; gap:14px !important;} }
@media(max-width:460px){ .sfw-modern-grid{grid-template-columns:1fr !important;} .pc-actions{flex-direction:column !important;} }

/* ---- CATEGORY GRID WIDGET ---- */
.sfw-cats .grid{display:grid !important; grid-template-columns:repeat(var(--cols, 4), 1fr) !important; gap:18px !important}
.sfw-cats .cc{position:relative !important; display:block !important; border-radius:16px !important; overflow:hidden !important; min-height:300px !important;
	border:1px solid var(--sw-line) !important; background:var(--sw-navy) !important; text-decoration:none !important;
	opacity:0; transform:translateY(24px); transition:opacity .6s var(--sw-ease),transform .6s var(--sw-ease),box-shadow .35s !important}
.sfw-cats.in .cc{opacity:1; transform:none}
/* Force visibility in Elementor Editor where JS might not fire */
body.elementor-editor-active .sfw-cats .cc { opacity:1 !important; transform:none !important; transition:none !important; }

.sfw-cats .cc:hover{box-shadow:0 26px 50px -26px rgba(15,36,54,.6) !important}
.sfw-cats .cc-img{position:absolute !important; inset:0 !important; z-index:0 !important}
.sfw-cats .cc-img img{width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .6s var(--sw-ease) !important}
.sfw-cats .cc:hover .cc-img img{transform:scale(1.08) !important}
.sfw-cats .cc-ov{position:absolute !important; inset:0 !important; z-index:1 !important; background:linear-gradient(180deg,rgba(15,36,54,.35) 0%,rgba(15,36,54,.5) 45%,rgba(11,23,35,.94) 100%) !important; opacity:0 !important; transition:opacity .35s var(--sw-ease), background .35s !important}
.sfw-cats .cc:hover .cc-ov, .sfw-cats .cc:focus-within .cc-ov {opacity:1 !important; background:linear-gradient(180deg,rgba(38,99,188,.4) 0%,rgba(15,36,54,.6) 45%,rgba(11,23,35,.96) 100%) !important}
/* top accent bar */
.sfw-cats .cc::before{content:"" !important; position:absolute !important; top:0; left:0; right:0; height:4px !important; z-index:3 !important; background:linear-gradient(90deg,var(--sw-green),var(--sw-blue)) !important; transform:scaleX(0) !important; transform-origin:left !important; transition:transform .4s var(--sw-ease) !important}
.sfw-cats .cc:hover::before, .sfw-cats .cc:focus-within::before {transform:scaleX(1) !important}
.sfw-cats .cc-in{position:relative !important; z-index:2 !important; height:100% !important; min-height:300px !important; display:flex !important; flex-direction:column !important; justify-content:flex-end !important; padding:24px !important; opacity:0 !important; transition:opacity .35s var(--sw-ease) !important}
.sfw-cats .cc:hover .cc-in, .sfw-cats .cc:focus-within .cc-in {opacity:1 !important}
.sfw-cats .cc-txt h3{color:#fff !important; font-size:1.18rem !important; font-weight:600 !important; margin-bottom:6px !important}
.sfw-cats .cc-txt p{color:#c3d0dc !important; font-size:.84rem !important; line-height:1.45 !important; margin-top:0 !important}
.sfw-cats .cc-more{display:inline-flex !important; align-items:center !important; gap:7px !important; margin-top:16px !important; font-family:var(--sw-head-font) !important; font-weight:600 !important; font-size:.82rem !important; letter-spacing:.03em !important; color:var(--sw-green) !important;
	max-height:0 !important; opacity:0 !important; overflow:hidden !important; transition:max-height .35s var(--sw-ease),opacity .35s var(--sw-ease) !important}
.sfw-cats .cc:hover .cc-more{max-height:30px !important; opacity:1 !important}
.sfw-cats .cc-more svg{width:15px !important; height:15px !important; transition:transform .3s var(--sw-ease) !important}
.sfw-cats .cc:hover .cc-more svg{transform:translateX(4px) !important}

/* Responsive / Mobile */
@media (hover: none), (max-width: 767px) {
	.sfw-cats .cc, .sfw-cats .cc-ov, .sfw-cats .cc-in {opacity:1 !important; transform:none !important;}
}
@media(max-width:760px){
	.sfw-cats .grid{gap:14px !important}
	.sfw-cats .cc,.sfw-cats .cc-in{min-height:250px !important}
	.sfw-cats .cc-more{max-height:30px !important; opacity:1 !important}
	.sfw-cats .cc::before{transform:scaleX(1) !important}
	.sfw-cats .cc-txt h3{font-size:1.05rem !important}
	.sfw-cats .cc-txt p{display:none !important}
}
@media(max-width:440px){ .sfw-cats .cc,.sfw-cats .cc-in{min-height:240px !important} }
@media(prefers-reduced-motion:reduce){ .sfw-cats *{animation:none !important; transition:none !important} .sfw-cats .cc{opacity:1 !important; transform:none !important} }
.sfw-cats .cc:focus-visible{outline:3px solid var(--sw-green) !important; outline-offset:3px !important}

/* Slider Layout for Category Grid */
.sfw-cats.layout-slider .sfw-slider-header { display:flex !important; align-items:center !important; justify-content:space-between !important; margin-bottom:20px !important; }
.sfw-cats.layout-slider .sfw-slider-title { font-family:var(--sw-head-font) !important; color:var(--sw-ink) !important; font-size:1.6rem !important; font-weight:700 !important; margin:0 !important; }
.sfw-cats.layout-slider .sfw-slider-nav { display:flex !important; gap:10px !important; }
.sfw-cats.layout-slider .sfw-slider-nav button { width:40px !important; height:40px !important; border-radius:50% !important; border:1px solid var(--sw-line) !important; background:#fff !important; color:var(--sw-body) !important; display:grid !important; place-items:center !important; cursor:pointer !important; transition:all .25s var(--sw-ease) !important; }
.sfw-cats.layout-slider .sfw-slider-nav button:hover { border-color:var(--sw-green) !important; background:var(--sw-green) !important; color:#fff !important; transform:scale(1.05) !important; }
.sfw-cats.layout-slider .sfw-slider-nav button svg { width:20px !important; height:20px !important; }

.sfw-cats .slider {
	display:flex !important;
	overflow-x:auto !important;
	scroll-snap-type:x mandatory !important;
	gap:18px !important;
	padding-bottom:12px !important;
	-ms-overflow-style:none;
	scrollbar-width:none;
}
.sfw-cats .slider::-webkit-scrollbar { display:none; }
.sfw-cats .slider .cc {
	flex:0 0 calc((100% - (var(--cols) - 1) * 18px) / var(--cols)) !important;
	scroll-snap-align:start !important;
}
@media(max-width:1024px){ 
    .sfw-cats .slider .cc{flex:0 0 calc((100% - 2 * 18px) / 3) !important;} 
}
@media(max-width:760px){
	.sfw-cats .slider{gap:14px !important;}
	.sfw-cats .slider .cc{flex:0 0 calc((100% - 14px) / 2) !important;}
}
@media(max-width:440px){
	.sfw-cats .slider .cc{flex:0 0 85% !important;}
}

/* Compact Layout for Category Grid */
.sfw-cats .compact-grid {
	display:grid !important;
	grid-template-columns:repeat(var(--cols), 1fr) !important;
	gap:16px !important;
}
.sfw-cats .cc-pill {
	display:flex !important;
	align-items:center !important;
	background:#f5f5f5 !important;
	border-radius:10px !important;
	padding:10px 14px !important;
	gap:12px !important;
	text-decoration:none !important;
	transition:all .25s var(--sw-ease) !important;
	opacity:0; transform:translateY(20px);
}
.sfw-cats.in .cc-pill {
	opacity:1; transform:none;
}
body.elementor-editor-active .sfw-cats .cc-pill { opacity:1 !important; transform:none !important; transition:none !important; }

.sfw-cats .cc-pill:hover {
	background:#ebebeb !important;
	transform:translateY(-2px) !important;
	box-shadow:0 4px 12px rgba(0,0,0,0.06) !important;
}
.sfw-cats .cc-pill-img {
	flex-shrink:0 !important;
	width:44px !important;
	height:44px !important;
	border-radius:50% !important;
	overflow:hidden !important;
}
.sfw-cats .cc-pill-img img {
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	display:block !important;
}
.sfw-cats .cc-pill-txt {
	font-family:var(--sw-body-font) !important;
	font-size:0.88rem !important;
	font-weight:500 !important;
	color:var(--sw-body) !important;
	line-height:1.2 !important;
}
@media(max-width:760px){
	.sfw-cats .compact-grid { gap:12px !important; }
	.sfw-cats .cc-pill { padding:10px 14px !important; gap:12px !important; }
	.sfw-cats .cc-pill-img { width:46px !important; height:46px !important; }
	.sfw-cats .cc-pill-txt { font-size:0.95rem !important; }
}

/* ---- QUOTE MODAL GLASSMORPHISM ---- */
.sfw-quote-modal-style .sfw-modal-overlay {
	background: rgba(15, 36, 54, 0.5);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.sfw-quote-modal-style .sfw-glassmorphism {
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(255, 255, 255, 0.5);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: 16px;
	padding: 40px;
	max-width: 600px;
	/* Animation Properties */
	opacity: 0;
	transform: scale(0.9) translateY(40px);
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.sfw-quote-modal-style.sfw-modal-active .sfw-glassmorphism {
	opacity: 1;
	transform: scale(1) translateY(0);
}
.sfw-quote-modal-style .sfw-modal-close {
	top: 20px;
	right: 20px;
	background: #f0f4f8;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #555;
	transition: all 0.3s ease;
	font-size: 20px;
}
.sfw-quote-modal-style .sfw-modal-close:hover {
	background: #ff4757;
	color: #fff;
	transform: rotate(90deg);
}
.sfw-quote-header {
	text-align: center;
	margin-bottom: 30px;
}
.sfw-quote-header .sfw-modal-title {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--sw-ink, #141A1F);
	margin-bottom: 10px;
}
.sfw-quote-header .sfw-modal-subtitle {
	border: none;
	padding: 0;
	margin: 0;
	font-size: 0.95rem;
	color: #666;
}
.sfw-quote-modal-style .sfw-form-row {
	display: flex;
	gap: 20px;
}
.sfw-quote-modal-style .sfw-col-half {
	flex: 1;
}
.sfw-quote-modal-style .sfw-form-group label {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--sw-navy, #0F2436);
	margin-bottom: 8px;
}
.sfw-quote-modal-style .sfw-form-group input,
.sfw-quote-modal-style .sfw-form-group textarea {
	background: #f9fbfd;
	border: 1px solid #dce2e8;
	border-radius: 8px;
	padding: 12px 16px;
	transition: all 0.3s ease;
}
.sfw-quote-modal-style .sfw-form-group input:focus,
.sfw-quote-modal-style .sfw-form-group textarea:focus {
	background: #fff;
	border-color: var(--sw-green, #67BC44);
	box-shadow: 0 0 0 3px rgba(103, 188, 68, 0.1);
}
.sfw-quote-modal-style .sfw-quote-submit-btn {
	background: linear-gradient(135deg, var(--sw-green, #67BC44), var(--sw-blue, #2663BC));
	color: #fff !important;
	border: none;
	border-radius: 8px;
	padding: 14px 24px;
	font-size: 1rem;
	font-weight: 600;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.sfw-quote-modal-style .sfw-quote-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(38, 99, 188, 0.3);
}
@media (max-width: 640px) {
	.sfw-quote-modal-style .sfw-form-row {
		flex-direction: column;
		gap: 0;
	}
	.sfw-quote-modal-style .sfw-glassmorphism {
		padding: 24px;
	}
}

/* Horizontal Slider Cards */
.sfw-cats .cc-hz {
    display: flex !important;
    flex-direction: row !important;
    background: #fff !important;
    border: 1px solid var(--sw-line) !important;
    min-height: 160px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
}
.sfw-cats .cc-hz:hover {
    box-shadow: 0 12px 30px rgba(0,0,0,0.06) !important;
}
.sfw-cats .cc-hz::before {
    display: none !important;
}
.sfw-cats .cc-hz-img {
    flex: 0 0 40% !important;
    max-width: 40% !important;
    position: relative !important;
    background: #f4f7f9 !important;
}
.sfw-cats .cc-hz-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    inset: 0 !important;
}
.sfw-cats .cc-hz-content {
    flex: 1 1 auto !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
}
.sfw-cats .cc-hz-txt h3 {
    color: var(--sw-ink) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin-bottom: 6px !important;
    margin-top: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.sfw-cats .cc-hz-txt p {
    color: #5a6b7c !important;
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.sfw-cats .cc-hz-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 12px !important;
    font-family: var(--sw-head-font) !important;
    font-weight: 600 !important;
    font-size: 0.82rem !important;
    color: var(--sw-blue) !important;
}
.sfw-cats .cc-hz-more svg {
    width: 14px !important;
    height: 14px !important;
    transition: transform 0.3s ease !important;
}
.sfw-cats .cc-hz:hover .cc-hz-more svg {
    transform: translateX(4px) !important;
}
@media (max-width: 640px) {
    .sfw-cats .cc-hz {
        flex-direction: column !important;
    }
    .sfw-cats .cc-hz-img {
        flex: 0 0 140px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
