/* ---------- Cookie Consent (PDPA) ---------- */
.cc-banner{
	position:fixed; left:18px; bottom:18px; z-index:9995;
	width:440px; max-width:calc(100% - 36px);
	background:#FFF; color:#333; border-radius:16px;
	box-shadow:0 18px 50px rgba(16,38,77,.25); border:1px solid #E3EAF4;
	padding:18px 18px 14px; font-family:"Prompt",sans-serif;
	animation:ccIn .35s ease both;
}
.cc-banner[hidden], .cc-modal[hidden]{display:none !important;}
.cc-banner-title{font-size:17px; font-weight:500; color:#0455BF; margin-bottom:6px;}
.cc-banner-title i{color:#ff8800; margin-right:4px;}
.cc-banner-text{font-size:13.5px; line-height:22px !important; color:#555;}
.cc-banner-text a, .cc-modal-intro a{color:#0061e1; text-decoration:underline;}
.cc-banner-actions{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
.cc-banner-actions .cc-btn{flex:1 1 auto;}

.cc-btn{
	font-family:"Prompt",sans-serif; font-size:14px; line-height:20px;
	padding:9px 14px; border-radius:999px; cursor:pointer;
	border:1px solid transparent; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.cc-btn:focus-visible{outline:3px solid #0061e1; outline-offset:2px;}
.cc-btn-primary{background:#0061e1; color:#FFF; border-color:#0061e1;}
.cc-btn-primary:hover{background:#004fb8; border-color:#004fb8;}
.cc-btn-outline{background:#FFF; color:#0061e1; border-color:#0061e1;}
.cc-btn-outline:hover{background:#EEF4FD;}
.cc-btn-ghost{background:#F2F4F7; color:#333;}
.cc-btn-ghost:hover{background:#E4E8EE;}

.cc-modal{
	position:fixed; inset:0; z-index:9999;
	background:rgba(10,20,40,.55);
	display:flex; align-items:center; justify-content:center; padding:16px;
	font-family:"Prompt",sans-serif;
}
.cc-modal-box{
	background:#FFF; border-radius:16px; width:560px; max-width:100%;
	max-height:calc(100vh - 32px); display:flex; flex-direction:column;
	box-shadow:0 24px 60px rgba(0,0,0,.3); animation:ccIn .25s ease both;
}
.cc-modal-head{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #EEF1F5;}
.cc-modal-title{font-size:18px; font-weight:500; color:#0455BF;}
.cc-close{background:none; border:0; font-size:28px; line-height:1; color:#888; cursor:pointer; padding:0 4px;}
.cc-close:hover{color:#333;}
.cc-modal-body{padding:16px 20px; overflow-y:auto;}
.cc-modal-intro{font-size:13.5px; line-height:22px !important; margin-bottom:12px !important;}
.cc-cat{border:1px solid #E3EAF4; border-radius:12px; padding:12px 14px; margin-bottom:10px;}
.cc-cat-head{display:flex; align-items:center; justify-content:space-between; gap:14px;}
.cc-cat-title{font-size:15px; font-weight:500; color:#222;}
.cc-cat-desc{font-size:12.5px; line-height:19px; color:#666; margin-top:2px;}
.cc-always{font-size:12px; color:#0a9e5c; white-space:nowrap; font-weight:500;}
.cc-modal-foot{display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; padding:14px 20px; border-top:1px solid #EEF1F5;}

.cc-switch{position:relative; flex:0 0 46px; width:46px; height:26px; margin:0; cursor:pointer;}
.cc-switch input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer;}
.cc-switch span{position:absolute; inset:0; background:#C9D2DE; border-radius:999px; transition:background .2s ease; pointer-events:none;}
.cc-switch span::after{content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#FFF; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s ease;}
.cc-switch input:checked + span{background:#0061e1;}
.cc-switch input:checked + span::after{transform:translateX(20px);}
.cc-switch input:focus-visible + span{outline:3px solid #0061e1; outline-offset:2px;}

.cc-placeholder{font-size:13px; color:#666; font-family:"Prompt",sans-serif;}
.cc-placeholder i{color:#1877F2;}
.cc-placeholder button{background:none; border:0; padding:0; color:#0061e1; text-decoration:underline; cursor:pointer; font:inherit;}

html.cc-modal-open, html.cc-modal-open body{overflow:hidden;}

@keyframes ccIn{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}

@media (max-width: 767px){
	/* อยู่เหนือแถบปุ่มติดต่อด้านล่าง */
	.cc-banner{left:8px; right:8px; bottom:80px; width:auto; max-width:none; padding:14px;}
	.cc-banner-actions .cc-btn{flex:1 1 30%; padding:9px 8px; font-size:13px;}
	.cc-modal-foot .cc-btn{flex:1 1 100%;}
}
@media (prefers-reduced-motion: reduce){ .cc-banner, .cc-modal-box{animation:none;} }
@media print{ .cc-banner, .cc-modal{display:none !important;} }
