/* =========================================================
   PaidHR Consent Pro – Frontend Styles
   Class names mirror the CKY/CookieYes reference design.
   Isolation via ID-prefixed selectors (specificity 0,2,0)
   and !important on every visual property.
   ========================================================= */

/* ── Custom Properties ───────────────────────────────────── */
:root {
	--cky-blue:       #2563eb;
	--cky-blue-h:     #1d4ed8;
	--cky-shadow:     0 25px 60px -15px rgba(15,23,42,.25), 0 6px 18px -6px rgba(15,23,42,.1);
	--cky-shadow-lg:  0 30px 80px -20px rgba(15,23,42,.25), 0 8px 24px -8px rgba(15,23,42,.12);
	--cky-overlay:    rgba(10,10,30,.55);
	--cky-z:          99999;
	--cky-ease:       cubic-bezier(.16,1,.3,1);
	--cky-speed:      .32s;
}

/* ── hidden-attribute override ───────────────────────────── */
#cmp-banner[hidden],
#cmp-modal[hidden],
#cmp-modal-overlay[hidden],
#cmp-receipt-modal[hidden],
#cmp-floating-btn[hidden] { display: none !important; }

/* ── Container baseline ──────────────────────────────────── */
#cmp-banner,
#cmp-modal,
#cmp-modal-overlay,
#cmp-receipt-modal,
#cmp-floating-btn {
	box-sizing:     border-box !important;
	font-family:    'Inter', -apple-system, BlinkMacSystemFont,
	                'Segoe UI', Roboto, 'Helvetica Neue', sans-serif !important;
	font-size:      15px !important;
	line-height:    1.5 !important;
	color:          #0f172a !important;
	text-align:     left !important;
	letter-spacing: normal !important;
	font-weight:    400 !important;
	-webkit-font-smoothing: antialiased !important;
	background:     transparent !important;
	border:         none !important;
	margin:         0 !important;
	padding:        0 !important;
}

/* ── Descendant reset ────────────────────────────────────── */
#cmp-banner *,
#cmp-modal *,
#cmp-receipt-modal *,
#cmp-floating-btn * {
	box-sizing:  border-box !important;
	font-family: inherit !important;
	line-height: inherit !important;
	margin:      0 !important;
	padding:     0 !important;
}
#cmp-banner ul, #cmp-banner ol,
#cmp-modal  ul, #cmp-modal  ol {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	background: none !important; border: none !important;
}
#cmp-banner li, #cmp-modal li {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	background: none !important; border: none !important;
}
#cmp-banner a, #cmp-modal a, #cmp-receipt-modal a {
	text-decoration: none !important; border: none !important;
	box-shadow: none !important; outline: none !important;
}
#cmp-banner h1, #cmp-banner h2, #cmp-banner h3,
#cmp-modal  h1, #cmp-modal  h2, #cmp-modal  h3 {
	font-size: inherit !important; font-weight: inherit !important;
	margin: 0 !important; padding: 0 !important;
	border: none !important; background: none !important;
}
#cmp-banner p, #cmp-modal p { margin: 0 !important; padding: 0 !important; }
#cmp-banner button, #cmp-modal button {
	font-family: inherit !important; font-size: inherit !important;
	cursor: pointer !important; outline: none;
	-webkit-appearance: none; appearance: none;
}

/* =========================================================
   OVERLAY
   ========================================================= */
#cmp-modal-overlay {
	position:   fixed !important;
	inset:      0 !important;
	background: rgba(10,10,30,.55) !important;
	z-index:    calc(99999 - 1) !important;
	opacity:    0 !important;
	transition: opacity .3s ease !important;
	will-change: opacity !important;
}
#cmp-modal-overlay.cky-visible { opacity: 1 !important; }

/* =========================================================
   BANNER CONTAINER  (#cmp-banner = .cky-consent-container)
   ========================================================= */
#cmp-banner {
	position:    fixed !important;
	z-index:     99999 !important;
	opacity:     0 !important;
	transition:  opacity .32s cubic-bezier(.16,1,.3,1),
	             transform .32s cubic-bezier(.16,1,.3,1) !important;
	display:     block !important;
	will-change: opacity, transform !important;
}

/* Position variants */
#cmp-banner.cky-box-bottom-left {
	left:      20px !important; bottom: 20px !important;
	max-width: 460px !important; width: calc(100% - 40px) !important;
	transform: translateY(20px) scale(.97) !important;
}
#cmp-banner.cky-box-bottom-right {
	right:     20px !important; bottom: 20px !important;
	max-width: 460px !important; width: calc(100% - 40px) !important;
	transform: translateY(20px) scale(.97) !important;
}
#cmp-banner.cky-box-center {
	top: 50% !important; left: 50% !important;
	transform: translate(-50%,-48%) scale(.97) !important;
	max-width: 480px !important; width: calc(100% - 40px) !important;
}
#cmp-banner.cky-box-bottom-bar,
#cmp-banner.cky-box-top-bar {
	left: 0 !important; right: 0 !important;
	width: 100% !important; max-width: none !important;
	transform: translateY(20px) !important;
}
#cmp-banner.cky-box-bottom-bar { bottom: 0 !important; }
#cmp-banner.cky-box-top-bar    { top: 0 !important; transform: translateY(-20px) !important; }

/* Visible state (JS adds .cky-visible) */
#cmp-banner.cky-visible { opacity: 1 !important; transform: none !important; }

/* ── Banner card ── */
#cmp-banner .cky-consent-bar {
	background:    #ffffff !important;
	border:        1px solid rgba(229,231,235,.8) !important;
	border-radius: 16px !important;
	padding:       20px 22px !important;
	box-shadow:    var(--cky-shadow) !important;
	position:      relative !important;
	overflow:      hidden !important;
	display:       block !important;
}
#cmp-banner .cky-consent-bar::before {
	content:    "" !important;
	position:   absolute !important;
	top:        0 !important; left: 0 !important; right: 0 !important;
	height:     3px !important;
	background: linear-gradient(90deg, #2563eb 0%, #60a5fa 50%, #2563eb 100%) !important;
	display:    block !important;
}
#cmp-banner .cky-notice {
	display:        flex !important;
	flex-direction: column !important;
	gap:            12px !important;
}
#cmp-banner .cky-title {
	font-size:      16px !important;
	font-weight:    700 !important;
	color:          #0f172a !important;
	letter-spacing: -.02em !important;
	margin:         0 !important;
	line-height:    1.3 !important;
	display:        flex !important;
	align-items:    center !important;
	gap:            8px !important;
}
#cmp-banner .cky-title::before {
	content:       "" !important;
	width:         22px !important; height: 22px !important; min-width: 22px !important;
	background:    linear-gradient(135deg, #2563eb 0%, #60a5fa 100%) !important;
	border-radius: 50% !important;
	flex-shrink:   0 !important;
	box-shadow:    0 2px 6px rgba(37,99,235,.25) !important;
	display:       inline-block !important;
}
#cmp-banner .cky-notice-group {
	display:        flex !important;
	flex-direction: column !important;
	gap:            14px !important;
}
#cmp-banner .cky-notice-des {
	color:       #475569 !important;
	font-size:   13px !important;
	line-height: 1.6 !important;
}
#cmp-banner .cky-notice-des p { color: #475569 !important; }
#cmp-banner .cky-policy {
	color:           #2563eb !important;
	font-weight:     600 !important;
	text-decoration: none !important;
	border-bottom:   1px solid transparent !important;
	transition:      border-color .2s ease !important;
}
#cmp-banner .cky-policy:hover { border-bottom-color: #2563eb !important; }
#cmp-banner .cky-banner-countdown {
	font-size: 12px !important; color: #64748b !important; font-style: italic !important;
}
#cmp-banner .cky-notice-btn-wrapper {
	display:   flex !important;
	gap:       8px !important;
	flex-wrap: wrap !important;
}

/* =========================================================
   SHARED BUTTON BASE  (.cky-btn)
   ========================================================= */
#cmp-banner .cky-btn,
#cmp-modal  .cky-btn {
	display:         inline-flex !important;
	align-items:     center !important;
	justify-content: center !important;
	padding:         9px 16px !important;
	border-radius:   9px !important;
	font-size:       13px !important;
	font-weight:     600 !important;
	cursor:          pointer !important;
	transition:      all .2s ease !important;
	letter-spacing:  -.005em !important;
	flex:            1 !important;
	min-width:       90px !important;
	text-align:      center !important;
	font-family:     inherit !important;
	white-space:     nowrap !important;
	line-height:     1.4 !important;
	border:          1px solid transparent !important;
	background:      none !important;
	text-decoration: none !important;
	box-shadow:      none !important;
}
#cmp-banner .cky-btn:focus-visible,
#cmp-modal  .cky-btn:focus-visible {
	outline: 3px solid rgba(37,99,235,.4) !important; outline-offset: 2px !important;
}

/* Customise */
#cmp-banner .cky-btn-customize, #cmp-modal .cky-btn-customize {
	color: #1e293b !important; border-color: #e2e8f0 !important; background: #ffffff !important;
}
#cmp-banner .cky-btn-customize:hover, #cmp-modal .cky-btn-customize:hover {
	background: #f8fafc !important; border-color: #cbd5e1 !important;
}

/* Reject All */
#cmp-banner .cky-btn-reject, #cmp-modal .cky-btn-reject {
	color: #1e293b !important; border-color: #e2e8f0 !important; background: #ffffff !important;
}
#cmp-banner .cky-btn-reject:hover, #cmp-modal .cky-btn-reject:hover {
	background: #f8fafc !important; border-color: #cbd5e1 !important;
}

/* Save Preferences */
#cmp-modal .cky-btn-preferences {
	color: #1e293b !important; border-color: #e2e8f0 !important; background: #ffffff !important;
}
#cmp-modal .cky-btn-preferences:hover { background: #f8fafc !important; border-color: #cbd5e1 !important; }

/* Accept All */
#cmp-banner .cky-btn-accept, #cmp-modal .cky-btn-accept {
	color: #ffffff !important; border-color: #2563eb !important;
	background: #2563eb !important; box-shadow: 0 1px 2px rgba(37,99,235,.2) !important;
}
#cmp-banner .cky-btn-accept:hover, #cmp-modal .cky-btn-accept:hover {
	background: #1d4ed8 !important; border-color: #1d4ed8 !important;
	box-shadow: 0 4px 12px rgba(37,99,235,.3) !important;
	transform: translateY(-1px) !important; color: #ffffff !important;
}
#cmp-banner .cky-btn-accept:active, #cmp-modal .cky-btn-accept:active {
	transform: translateY(0) !important;
}

/* =========================================================
   MODAL WRAPPER  (#cmp-modal = outer fixed container)
   ========================================================= */
#cmp-modal {
	position:        fixed !important;
	inset:           0 !important;
	z-index:         99999 !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	padding:         24px 16px !important;
	overflow-y:      auto !important;
	background:      transparent !important;
}

/* ── Modal card  (.cky-preference-center) ── */
#cmp-modal .cky-preference-center {
	font-family:    inherit !important;
	color:          #1f2937 !important;
	background:     #ffffff !important;
	border:         1px solid rgba(229,231,235,.8) !important;
	border-radius:  20px !important;
	box-shadow:     0 30px 80px -20px rgba(15,23,42,.25), 0 8px 24px -8px rgba(15,23,42,.12) !important;
	width:          100% !important;
	max-width:      720px !important;
	margin:         24px auto !important;
	overflow:       hidden !important;
	position:       relative !important;
	animation:      ckyFadeUp .35s cubic-bezier(.16,1,.3,1) both !important;
	display:        flex !important;
	flex-direction: column !important;
	max-height:     calc(100vh - 48px) !important;
	will-change:    opacity, transform !important;
}

@keyframes ckyFadeUp {
	from { opacity: 0; transform: translateY(12px) scale(.98); }
	to   { opacity: 1; transform: translateY(0)    scale(1); }
}

/* ── Header ── */
#cmp-modal .cky-preference-header {
	display:         flex !important;
	align-items:     center !important;
	justify-content: space-between !important;
	padding:         24px 28px !important;
	border-bottom:   1px solid #f1f5f9 !important;
	background:      linear-gradient(180deg, #ffffff 0%, #fafbfc 100%) !important;
	flex-shrink:     0 !important;
}
#cmp-modal .cky-preference-title {
	font-size:      20px !important;
	font-weight:    700 !important;
	color:          #0f172a !important;
	letter-spacing: -.02em !important;
	line-height:    1.3 !important;
}
#cmp-modal .cky-btn-close {
	background:      #f1f5f9 !important;
	border:          none !important;
	border-radius:   50% !important;
	width:           36px !important; height: 36px !important;
	display:         inline-flex !important;
	align-items:     center !important;
	justify-content: center !important;
	cursor:          pointer !important;
	transition:      all .2s ease !important;
	flex-shrink:     0 !important;
	color:           #475569 !important;
	box-shadow:      none !important;
}
#cmp-modal .cky-btn-close:hover {
	background: #e2e8f0 !important; transform: rotate(90deg) !important; color: #0f172a !important;
}

/* ── Body / scroll area ── */
#cmp-modal .cky-preference-body-wrapper {
	padding:         8px 28px 24px !important;
	overflow-y:      auto !important;
	max-height:      60vh !important;
	flex:            1 !important;
	scrollbar-width: thin !important;
	scrollbar-color: #cbd5e1 transparent !important;
	background:      #ffffff !important;
}
#cmp-modal .cky-preference-body-wrapper::-webkit-scrollbar { width: 6px !important; }
#cmp-modal .cky-preference-body-wrapper::-webkit-scrollbar-thumb {
	background: #cbd5e1 !important; border-radius: 3px !important;
}
#cmp-modal .cky-preference-body-wrapper::-webkit-scrollbar-thumb:hover { background: #94a3b8 !important; }

/* ── Intro text ── */
#cmp-modal .cky-preference-content-wrapper {
	color:       #475569 !important;
	font-size:   14px !important;
	line-height: 1.65 !important;
	padding:     16px 0 !important;
}
#cmp-modal .cky-preference-content-wrapper p { color: #475569 !important; margin-bottom: 12px !important; }
#cmp-modal .cky-preference-content-wrapper p:last-of-type { margin-bottom: 16px !important; }

/* Collapsed intro */
#cmp-modal .cky-intro-collapsible.cky-intro-collapsed { max-height: 90px !important; overflow: hidden !important; }

/* Show more/less button */
#cmp-modal .cky-show-desc-btn {
	display:     inline-flex !important;
	align-items: center !important;
	gap:         6px !important;
	background:  transparent !important;
	border:      none !important;
	color:       #2563eb !important;
	font-size:   13px !important;
	font-weight: 600 !important;
	padding:     6px 0 !important;
	cursor:      pointer !important;
	transition:  color .2s ease !important;
	box-shadow:  none !important;
}
#cmp-modal .cky-show-desc-btn:hover { color: #1d4ed8 !important; }

/* DMA/policy info box */
#cmp-modal .cky-dma-content-wrapper {
	color:         #475569 !important;
	font-size:     13px !important;
	padding:       12px 16px !important;
	background:    #f8fafc !important;
	border-radius: 10px !important;
	border-left:   3px solid #2563eb !important;
	margin:        12px 0 8px !important;
}
#cmp-modal .cky-dma-content-wrapper p { color: #475569 !important; }
#cmp-modal .cky-dma-content-wrapper a { color: #2563eb !important; font-weight: 600 !important; }

/* Separator */
#cmp-modal .cky-horizontal-separator {
	height:  1px !important;
	background: linear-gradient(90deg, transparent, #e2e8f0, transparent) !important;
	margin:  8px 0 4px !important;
	border:  none !important;
	display: block !important;
}

/* =========================================================
   ACCORDION
   ========================================================= */
#cmp-modal .cky-accordion-wrapper {
	display:        flex !important;
	flex-direction: column !important;
	gap:            10px !important;
	margin-top:     16px !important;
	list-style:     none !important;
}
#cmp-modal .cky-accordion {
	border:        1px solid #e5e7eb !important;
	border-radius: 12px !important;
	background:    #ffffff !important;
	overflow:      hidden !important;
	transition:    border-color .2s ease, box-shadow .2s ease !important;
}
#cmp-modal .cky-accordion:hover {
	border-color: #cbd5e1 !important; box-shadow: 0 2px 8px rgba(15,23,42,.04) !important;
}
#cmp-modal .cky-accordion.cky-accordion-active {
	border-color: #2563eb !important; box-shadow: 0 4px 16px rgba(37,99,235,.08) !important;
}

/* Trigger row */
#cmp-modal .cky-accordion-item {
	display:     flex !important;
	align-items: flex-start !important;
	gap:         14px !important;
	padding:     18px 20px !important;
	cursor:      pointer !important;
	background:  transparent !important;
}
#cmp-modal .cky-accordion-chevron {
	flex-shrink: 0 !important;
	margin-top:  4px !important;
	transition:  transform .3s cubic-bezier(.4,0,.2,1) !important;
}
#cmp-modal .cky-accordion.cky-accordion-active .cky-accordion-chevron {
	transform: rotate(90deg) !important;
}
#cmp-modal .cky-chevron-right {
	display:      inline-block !important;
	width:        8px !important; height: 8px !important;
	border-right: 2px solid #64748b !important;
	border-top:   2px solid #64748b !important;
	transform:    rotate(45deg) !important;
	transition:   border-color .2s ease !important;
	background:   transparent !important;
}
#cmp-modal .cky-accordion.cky-accordion-active .cky-chevron-right { border-color: #2563eb !important; }

#cmp-modal .cky-accordion-header-wrapper { flex: 1 !important; min-width: 0 !important; }
#cmp-modal .cky-accordion-header {
	display:         flex !important;
	align-items:     center !important;
	justify-content: space-between !important;
	gap:             16px !important;
}
#cmp-modal .cky-accordion-btn {
	background:     transparent !important;
	border:         none !important;
	padding:        0 !important;
	font-size:      15px !important;
	font-weight:    600 !important;
	color:          #0f172a !important;
	cursor:         pointer !important;
	text-align:     left !important;
	letter-spacing: -.01em !important;
	flex:           1 !important;
	box-shadow:     none !important;
	outline:        none !important;
	line-height:    1.4 !important;
}

/* Always-active badge */
#cmp-modal .cky-always-active {
	display:        inline-flex !important;
	align-items:    center !important;
	gap:            5px !important;
	background:     #ecfdf5 !important;
	color:          #047857 !important;
	font-size:      11px !important;
	font-weight:    600 !important;
	padding:        4px 10px !important;
	border-radius:  999px !important;
	border:         1px solid #a7f3d0 !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
	white-space:    nowrap !important;
}
#cmp-modal .cky-always-active::before {
	content:       "" !important;
	width:         6px !important; height: 6px !important; min-width: 6px !important;
	background:    #10b981 !important;
	border-radius: 50% !important;
	display:       inline-block !important;
}

/* Toggle switch */
#cmp-modal .cky-switch { position: relative !important; flex-shrink: 0 !important; }
#cmp-modal .cky-switch input[type="checkbox"] {
	appearance:         none !important;
	-webkit-appearance: none !important;
	width:              40px !important;
	height:             22px !important;
	background:         #d1d5db !important;
	border-radius:      999px !important;
	position:           relative !important;
	cursor:             pointer !important;
	outline:            none !important;
	transition:         background .25s ease !important;
	display:            block !important;
	border:             none !important;
	box-shadow:         none !important;
}
#cmp-modal .cky-switch input[type="checkbox"]::before {
	content:       "" !important;
	position:      absolute !important;
	top:           2px !important; left: 2px !important;
	width:         18px !important; height: 18px !important;
	background:    #ffffff !important;
	border-radius: 50% !important;
	box-shadow:    0 2px 4px rgba(0,0,0,.15) !important;
	transition:    transform .25s cubic-bezier(.4,0,.2,1) !important;
}
#cmp-modal .cky-switch input[type="checkbox"]:checked         { background: #2563eb !important; }
#cmp-modal .cky-switch input[type="checkbox"]:checked::before { transform: translateX(18px) !important; }
#cmp-modal .cky-switch input[type="checkbox"]:focus-visible {
	box-shadow: 0 0 0 3px rgba(37,99,235,.3) !important;
}

/* Category description */
#cmp-modal .cky-accordion-header-des {
	color:       #64748b !important;
	font-size:   13px !important;
	line-height: 1.6 !important;
	margin-top:  6px !important;
}
#cmp-modal .cky-accordion-header-des p { color: #64748b !important; }

/* Service tags */
#cmp-modal .cky-accordion-services { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; margin-top: 8px !important; }
#cmp-modal .cky-service-tag {
	display: inline-block !important; padding: 2px 8px !important;
	font-size: 11px !important; font-weight: 500 !important;
	color: #475569 !important; background: #f1f5f9 !important;
	border-radius: 999px !important; border: 1px solid #e2e8f0 !important;
}

/* Accordion body — hidden until .cky-accordion-active */
#cmp-modal .cky-accordion-body {
	display:    none !important;
	padding:    0 20px 20px !important;
	border-top: 1px solid #f1f5f9 !important;
	background: #fafbfc !important;
}
#cmp-modal .cky-accordion.cky-accordion-active .cky-accordion-body { display: block !important; }

/* Cookie audit table */
#cmp-modal .cky-audit-table {
	border:        1px solid #e5e7eb !important;
	border-radius: 10px !important;
	background:    #ffffff !important;
	overflow:      hidden !important;
	margin-top:    14px !important;
}
#cmp-modal .cky-cookie-des-table {
	list-style:    none !important;
	padding:       0 !important; margin: 0 !important;
	display:       grid !important;
	grid-template-columns: 110px 140px 1fr !important;
	border-bottom: 1px solid #f1f5f9 !important;
	transition:    background .15s ease !important;
	background:    #ffffff !important;
}
#cmp-modal .cky-cookie-des-table:last-child { border-bottom: none !important; }
#cmp-modal .cky-cookie-des-table:hover      { background: #f8fafc !important; }

#cmp-modal .cky-cookie-des-table li {
	padding:      10px 14px !important;
	font-size:    12.5px !important;
	line-height:  1.5 !important;
	border-right: 1px solid #f1f5f9 !important;
	word-break:   break-word !important;
	color:        #475569 !important;
	background:   transparent !important;
}
#cmp-modal .cky-cookie-des-table li:last-child  { border-right: none !important; }
#cmp-modal .cky-cookie-des-table li:first-child {
	font-weight: 600 !important; color: #64748b !important;
	background:  #f8fafc !important; text-transform: uppercase !important;
	font-size:   11px !important; letter-spacing: .04em !important;
}
#cmp-modal .cky-cookie-des-table li:nth-child(2) { font-weight: 500 !important; color: #1e293b !important; }
#cmp-modal .cky-cookie-des-table li div:first-child {
	font-weight: 600 !important; color: #94a3b8 !important;
	font-size: 10px !important; text-transform: uppercase !important;
	letter-spacing: .05em !important; margin-bottom: 2px !important;
}

/* No cookies message */
#cmp-modal .cky-no-cookies {
	color:       #64748b !important;
	font-size:   13px !important;
	font-style:  italic !important;
	padding:     16px 0 6px !important;
	text-align:  center !important;
}

/* =========================================================
   MODAL FOOTER
   ========================================================= */
#cmp-modal .cky-footer-wrapper {
	background:  #ffffff !important;
	border-top:  1px solid #f1f5f9 !important;
	padding:     16px 20px 0 !important;
	flex-shrink: 0 !important;
}
#cmp-modal .cky-footer-shadow { display: none !important; }

#cmp-modal .cky-prefrence-btn-wrapper {
	display:    flex !important;
	gap:        10px !important;
	padding:    4px 0 14px !important;
	flex-wrap:  nowrap !important;
	overflow-x: auto !important;
}

/* Larger buttons in modal footer */
#cmp-modal .cky-prefrence-btn-wrapper .cky-btn {
	flex:          1 !important;
	padding:       11px 18px !important;
	border-radius: 10px !important;
	font-size:     13.5px !important;
}

#cmp-modal .cky-powered-by {
	background:    #f8fafc !important;
	color:         #64748b !important;
	font-size:     11px !important;
	font-weight:   500 !important;
	padding:       10px 20px !important;
	border-radius: 0 0 20px 20px !important;
	border-top:    1px solid #f1f5f9 !important;
	margin:        0 -20px !important;
	text-align:    right !important;
}

/* =========================================================
   FLOATING BUTTON
   ========================================================= */
#cmp-floating-btn {
	position:      fixed !important;
	z-index:       calc(var(--cky-z) - 2) !important;
	background:    #2563eb !important;
	color:         #ffffff !important;
	border:        none !important;
	border-radius: 999px !important;
	padding:       9px 18px !important;
	font-size:     13px !important;
	font-weight:   600 !important;
	cursor:        pointer !important;
	box-shadow:    0 4px 16px rgba(37,99,235,.3) !important;
	transition:    transform .2s ease, box-shadow .2s ease !important;
	white-space:   nowrap !important;
	display:       inline-flex !important;
	align-items:   center !important;
	gap:           6px !important;
}
#cmp-floating-btn.cky-box-bottom-right { bottom: 20px !important; right: 20px !important; }
#cmp-floating-btn.cky-box-bottom-left  { bottom: 20px !important; left:  20px !important; }
#cmp-floating-btn:hover {
	transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(37,99,235,.4) !important;
}

/* =========================================================
   RECEIPT MODAL
   ========================================================= */
#cmp-receipt-modal {
	position:        fixed !important; inset: 0 !important;
	z-index:         var(--cky-z) !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	padding:         24px !important;
	background:      var(--cky-overlay) !important;
}
#cmp-receipt-modal .cmp-receipt-inner {
	background:    #ffffff !important; border-radius: 16px !important;
	padding:       32px !important; max-width: 440px !important;
	width:         100% !important; box-shadow: var(--cky-shadow-lg) !important;
	text-align:    center !important;
}
#cmp-receipt-modal .cmp-receipt-title   { font-size: 1.1rem !important; font-weight: 700 !important; color: #0f172a !important; margin-bottom: 8px !important; }
#cmp-receipt-modal .cmp-receipt-message { font-size: .875rem !important; color: #475569 !important; margin-bottom: 24px !important; line-height: 1.6 !important; }
#cmp-receipt-modal .cmp-receipt-close {
	background: #2563eb !important; color: #ffffff !important;
	border: none !important; border-radius: 9px !important;
	padding: 9px 24px !important; font-size: .875rem !important;
	font-weight: 600 !important; cursor: pointer !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 640px) {
	#cmp-banner.cky-box-bottom-left,
	#cmp-banner.cky-box-bottom-right {
		left:      12px !important; right:   12px !important;
		bottom:    12px !important; width:   auto !important;
		max-width: none !important;
		transform: translateY(20px) scale(.97) !important;
	}
	#cmp-banner .cky-consent-bar     { padding: 16px 18px !important; border-radius: 14px !important; }
	#cmp-banner .cky-title           { font-size: 15px !important; }
	#cmp-banner .cky-notice-btn-wrapper { flex-direction: column !important; }
	#cmp-banner .cky-notice-btn-wrapper .cky-btn { width: 100% !important; flex: none !important; }

	#cmp-modal .cky-preference-center { margin: 12px !important; border-radius: 16px !important; max-width: none !important; }
	#cmp-modal .cky-preference-header  { padding: 20px !important; }
	#cmp-modal .cky-preference-title   { font-size: 18px !important; }
	#cmp-modal .cky-preference-body-wrapper { padding: 4px 20px 20px !important; max-height: 55vh !important; }
	#cmp-modal .cky-accordion-item     { padding: 16px !important; }
	#cmp-modal .cky-cookie-des-table   { grid-template-columns: 1fr !important; }
	#cmp-modal .cky-cookie-des-table li { border-right: none !important; border-bottom: 1px solid #f1f5f9 !important; }
	#cmp-modal .cky-cookie-des-table li:last-child { border-bottom: none !important; }
	#cmp-modal .cky-prefrence-btn-wrapper { flex-direction: column !important; }
	#cmp-modal .cky-prefrence-btn-wrapper .cky-btn { width: 100% !important; flex: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	#cmp-banner { transition: none !important; }
	#cmp-modal .cky-preference-center { animation: none !important; }
}
