/* ==========================================================================
   Policy pages (Warranty / Return & Exchange) — page-specific styles
   Prefix: cc-pol- (shares cc-container / cc-btn-outline conventions)
   ========================================================================== */

.cc-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

.cc-pol-page { color: #555555; font-family: 'Work Sans', sans-serif; padding: 45px 0 70px; background: #ffffff; }
.cc-pol-page h1, .cc-pol-page h2, .cc-pol-page h3, .cc-pol-page h4 { font-family: 'Work Sans', sans-serif; color: #30383B; }
.cc-pol-page p, .cc-pol-page li { font-family: 'Roboto', sans-serif; font-weight: 300; color: #6b6b6b; }

/* Hard override: any paragraph directly followed by a list should have no extra gap before it —
   matches the tight heading-to-bullet spacing used when a card has no lead sentence at all. */
.cc-pol-page p { margin-top: 0 !important; margin-bottom: 6px !important; }
.cc-pol-page p + ul, .cc-pol-page p + ol { margin-top: 0 !important; }
.cc-pol-page p:has(+ ul), .cc-pol-page p:has(+ ol) { margin-bottom: 0 !important; }
.cc-pol-page ul, .cc-pol-page ol { margin-top: 0 !important; }

.cc-pol-banner { position: relative; overflow: hidden; }
.cc-pol-banner img { width: 100%; height: 260px; object-fit: cover; display: block; }

.cc-pol-head { margin-bottom: 10px; }
.cc-pol-head h1 { font-size: 34px; font-weight: 700; letter-spacing: 1px; margin-bottom: 10px; }
.cc-pol-tag { display: inline-block; background: #FFF4E0; color: #FFB42E; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; padding: 6px 16px; border-radius: 20px; margin-bottom: 10px; }

.cc-pol-intro { font-size: 15px; line-height: 25px; max-width: 820px; margin-bottom: 25px; }

.cc-pol-notice { display: flex; align-items: flex-start; gap: 16px; background: #FFF4E0; border: 1px solid #FBDDAE; border-radius: 14px; padding: 22px 26px; margin-bottom: 35px; }
.cc-pol-notice-icon { flex: none; width: 26px; height: 26px; color: #FFB42E; display: flex; align-items: center; justify-content: center; }
.cc-pol-notice-icon svg { width: 24px; height: 24px; }
.cc-pol-notice p { font-size: 14px; line-height: 22px; margin-bottom: 0; color: #6b6b6b; }
.cc-pol-notice h4 { font-size: 14px; font-weight: 700; letter-spacing: 1px; margin-bottom: 8px; color: #30383B; }
.cc-pol-notice ul { margin: 0; padding-left: 20px; }
.cc-pol-notice li { font-size: 14px; line-height: 22px; margin-bottom: 6px; }
.cc-pol-notice-alt { background: #ffffff; border-color: #E5E5E5; margin-top: 10px; }

.cc-pol-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; }
.cc-pol-col { display: flex; flex-direction: column; gap: 30px; }

.cc-pol-block { background: #ffffff; border: 1px solid #E5E5E5; border-radius: 16px; padding: 30px; box-shadow: 0 8px 24px rgba(48,56,59,0.05); }
.cc-pol-block-shaded { background: #F7F7F7; }
.cc-pol-block h2 { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; letter-spacing: 1px; margin-bottom: 16px; }
.cc-pol-block p { font-size: 14px; line-height: 22px; margin: 0 0 6px; }
.cc-pol-block p:last-child { margin-bottom: 0; }
.cc-pol-block p + ul, .cc-pol-block p + ol { margin-top: 0; }

.cc-pol-icon { flex: none; width: 22px; height: 22px; color: #FFB42E; display: inline-flex; align-items: center; justify-content: center; }
.cc-pol-icon svg { width: 22px; height: 22px; }

.cc-pol-check-list { list-style: none; margin: 0 0 8px; padding: 0; }
.cc-pol-check-list li { position: relative; padding-left: 24px; font-size: 14px; line-height: 21px; margin-bottom: 5px; }
.cc-pol-check-list li::before { content: '\2713'; position: absolute; left: 0; top: 1px; width: 15px; height: 15px; line-height: 13px; text-align: center; border: 1.5px solid #FFB42E; border-radius: 50%; color: #FFB42E; font-size: 9px; font-weight: 700; box-sizing: border-box; }

.cc-pol-num-list { list-style: none; margin: 0 0 8px; padding: 0; counter-reset: cc-pol-step; }
.cc-pol-num-list li { position: relative; padding-left: 30px; font-size: 14px; line-height: 21px; margin-bottom: 6px; counter-increment: cc-pol-step; }
.cc-pol-num-list li::before { content: counter(cc-pol-step); position: absolute; left: 0; top: -1px; width: 20px; height: 20px; line-height: 20px; text-align: center; background: #FFB42E; border-radius: 50%; color: #ffffff; font-size: 11px; font-weight: 700; font-family: 'Work Sans', sans-serif; }

.cc-pol-exclusion { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-top: 1px solid #E5E5E5; }
.cc-pol-exclusion:first-of-type { border-top: none; padding-top: 6px; }
.cc-pol-exclusion h4 { font-size: 14px; font-weight: 700; letter-spacing: 0.5px; margin-bottom: 6px; }
.cc-pol-exclusion p, .cc-pol-exclusion ul { margin-bottom: 0; }
.cc-pol-exclusion-lead { font-size: 13px; margin-bottom: 6px !important; }
.cc-pol-exclusion ul { list-style: none; padding: 0; margin: 0; }
.cc-pol-exclusion ul li { position: relative; padding-left: 16px; font-size: 13px; line-height: 21px; margin-bottom: 5px; }
.cc-pol-exclusion ul li::before { content: '\2013'; position: absolute; left: 0; top: 0; color: #FFB42E; }

.cc-pol-back { margin-top: 40px; text-align: center; }

.cc-btn-outline { display: inline-flex; align-items: center; gap: 8px; padding: 15px 25px; border-radius: 25px; border: 2px solid #FFB42E; color: #FFB42E; background: #ffffff; text-transform: uppercase; font-weight: 600; font-size: 13px; font-family: 'Work Sans', sans-serif; transition: all 0.2s linear; }
.cc-btn-outline svg { width: 16px; height: 16px; }
.cc-btn-outline:hover { background: #FFB42E; color: #ffffff; }

/* ---------- Return & Exchange numbered cards ---------- */
.cc-pol-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 10px; }
.cc-pol-step-card { background: #ffffff; border: 1px solid #E5E5E5; border-radius: 16px; padding: 24px 26px; box-shadow: 0 8px 24px rgba(48,56,59,0.05); }
.cc-pol-step-card.cc-pol-full { grid-column: 1 / -1; }
.cc-pol-step-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.cc-pol-step-number { flex: none; width: 30px; height: 30px; border-radius: 9px; background: #FFB42E; color: #ffffff; font-weight: 700; font-family: 'Work Sans', sans-serif; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.cc-pol-step-head h3 { font-size: 16px; font-weight: 700; letter-spacing: 0.5px; margin-bottom: 0; }
.cc-pol-step-icon { flex: none; width: 24px; height: 24px; color: #FFB42E; }
.cc-pol-step-icon svg { width: 24px; height: 24px; }
.cc-pol-step-card p { font-size: 14px; line-height: 20px; margin: 0 0 6px; }
.cc-pol-step-card ul { list-style: none; margin: 0 0 6px; padding: 0; }
.cc-pol-step-card p + ul { margin-top: 0; }
.cc-pol-step-card ul li { position: relative; padding-left: 20px; font-size: 14px; line-height: 20px; margin-bottom: 5px; }
.cc-pol-step-card ul.cc-pol-check-list li::before { content: '\2713'; }
.cc-pol-step-card ul.cc-pol-x-list li::before { content: '\2715'; color: #d9534f; }
.cc-pol-step-card ul li::before { position: absolute; left: 0; top: 1px; color: #FFB42E; font-weight: 700; font-size: 12px; }

.cc-pol-step-card ul.cc-pol-dash-list li, .cc-pol-exclusion ul li { padding-left: 14px; }
.cc-pol-step-card ul.cc-pol-dash-list li::before, .cc-pol-exclusion ul li::before { content: ''; left: 0; top: 10px; width: 6px; height: 2px; background: #FFB42E; border: none; border-radius: 1px; }
.cc-pol-step-card strong { color: #30383B; font-weight: 600; }
.cc-pol-note { font-size: 13px; border-top: 1px dashed #E5E5E5; padding-top: 12px; margin-top: 10px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media only screen and (max-width: 900px) {
	.cc-pol-banner img { height: 200px; }
	.cc-pol-grid { grid-template-columns: 1fr; }
	.cc-pol-steps { grid-template-columns: 1fr; }
}
