/* =========================
GLOBAL
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Inter,sans-serif;
background:#f5f7fb;
color:#111827;
line-height:1.6;
}

/* =========================
CONTAINER
========================= */

.tbz-container{
max-width:1240px;
margin:auto;
padding:0 20px;
}

/* =========================
HERO
========================= */

.tbz-cod-tool{
padding:70px 0 40px;
background:
linear-gradient(
180deg,
#f0f7ff 0%,
#ffffff 100%
);
}

.tbz-hero{
text-align:center;
margin-bottom:40px;
}

.tbz-badge{
display:inline-flex;
align-items:center;
gap:8px;
background:#dcfce7;
color:#15803d;
padding:8px 18px;
border-radius:999px;
font-size:14px;
font-weight:600;
margin-bottom:18px;
}

.tbz-hero h1{
font-size:52px;
line-height:1.1;
font-weight:800;
max-width:900px;
margin:auto;
color:#0f172a;
letter-spacing:-1px;
}

.tbz-whatsapp-text{
color:#25D366;
position:relative;
}

.tbz-whatsapp-text::after{
content:"";
position:absolute;
left:0;
bottom:4px;
width:100%;
height:10px;
background:rgba(37,211,102,.14);
z-index:-1;
border-radius:20px;
}

.tbz-hero p{
font-size:18px;
max-width:760px;
margin:22px auto 0;
color:#475569;
}

/* =========================
MAIN CARD
========================= */

.tbz-main-card{
display:grid;
grid-template-columns:1fr 1fr;
gap:28px;
background:#ffffff;
border-radius:30px;
padding:30px;
box-shadow:
0 10px 40px rgba(15,23,42,.06);
border:1px solid #e5e7eb;
}

/* =========================
LEFT / RIGHT
========================= */

.tbz-left,
.tbz-right{
display:flex;
flex-direction:column;
gap:18px;
}

/* =========================
FIELDS
========================= */

.tbz-field{
display:flex;
flex-direction:column;
gap:8px;
}

.tbz-field label{
font-size:14px;
font-weight:600;
color:#334155;
}

.tbz-field input,
.tbz-field select{
width:100%;
height:56px;
padding:0 18px;
border-radius:16px;
border:1px solid #dbe3ee;
background:#fff;
font-size:15px;
outline:none;
transition:.25s ease;
}

.tbz-field input:focus,
.tbz-field select:focus{
border-color:#25D366;
box-shadow:
0 0 0 4px rgba(37,211,102,.12);
}

/* =========================
PREVIEW
========================= */

.tbz-preview-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:8px;
}

.tbz-preview-header h3{
font-size:20px;
font-weight:700;
color:#0f172a;
}

#charCount{
font-size:13px;
font-weight:600;
color:#64748b;
}

#messageOutput{
width:100%;
height:420px;
padding:22px;
border:none;
outline:none;
resize:none;
border-radius:24px;
background:#f8fafc;
font-size:15px;
line-height:1.8;
color:#0f172a;
box-shadow:
inset 0 0 0 1px #e2e8f0;
}

/* =========================
BUTTONS
========================= */

.tbz-actions{
display:flex;
gap:14px;
flex-wrap:wrap;
position:sticky;
bottom:12px;
background:#fff;
padding-top:8px;
}

.tbz-actions button{
height:54px;
padding:0 24px;
border:none;
border-radius:16px;
font-size:15px;
font-weight:700;
cursor:pointer;
transition:.25s ease;
}

#copyBtn{
background:#25D366;
color:#fff;
}

#copyBtn:hover{
transform:translateY(-2px);
box-shadow:
0 10px 20px rgba(37,211,102,.18);
}

#whatsappBtn{
background:#0f172a;
color:#fff;
}

#whatsappBtn:hover{
transform:translateY(-2px);
}

#resetBtn{
background:#eef2f7;
color:#0f172a;
}

#resetBtn:hover{
background:#dce4ef;
}

/* =========================
SECTIONS
========================= */

.tbz-extra-section,
.tbz-how-section,
.tbz-seo-section,
.tbz-faq-section,
.tbz-related-tools{
padding:70px 0;
}

.tbz-section-heading{
text-align:center;
margin-bottom:40px;
}

.tbz-section-heading h2{
font-size:38px;
font-weight:800;
color:#0f172a;
margin-bottom:12px;
}

.tbz-section-heading p{
font-size:16px;
color:#64748b;
max-width:700px;
margin:auto;
}

/* =========================
TEMPLATE GRID
========================= */

.tbz-template-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
}

.tbz-template-card{
background:#fff;
padding:28px;
border-radius:24px;
border:1px solid #e2e8f0;
transition:.25s ease;
cursor:pointer;
}

.tbz-template-card:hover{
transform:translateY(-5px);
box-shadow:
0 12px 30px rgba(15,23,42,.08);
border-color:#25D366;
}

.tbz-template-card h3{
font-size:20px;
margin-bottom:10px;
color:#0f172a;
}

.tbz-template-card p{
font-size:15px;
color:#64748b;
}

/* =========================
HOW GRID
========================= */

.tbz-how-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.tbz-how-card{
background:#fff;
padding:34px;
border-radius:24px;
border:1px solid #e2e8f0;
}

.tbz-how-card span{
display:inline-flex;
width:52px;
height:52px;
align-items:center;
justify-content:center;
border-radius:14px;
background:#dcfce7;
color:#16a34a;
font-size:20px;
font-weight:700;
margin-bottom:18px;
}

.tbz-how-card h3{
font-size:22px;
margin-bottom:10px;
}

.tbz-how-card p{
color:#64748b;
}

/* =========================
SEO CONTENT
========================= */

.tbz-seo-content{
max-width:900px;
margin:auto;
background:#fff;
padding:40px;
border-radius:28px;
border:1px solid #e2e8f0;
}

.tbz-seo-content h2{
font-size:36px;
margin-bottom:20px;
}

.tbz-seo-content h3{
margin-top:30px;
margin-bottom:15px;
font-size:24px;
}

.tbz-seo-content p{
margin-bottom:18px;
color:#475569;
}

.tbz-seo-content ul{
padding-left:20px;
}

.tbz-seo-content li{
margin-bottom:12px;
color:#475569;
}

/* =========================
FAQ
========================= */

.tbz-faq-wrap{
max-width:900px;
margin:auto;
display:flex;
flex-direction:column;
gap:18px;
}

.tbz-faq-item{
background:#fff;
border-radius:22px;
border:1px solid #e2e8f0;
overflow:hidden;
}

.tbz-faq-question{
width:100%;
padding:24px;
background:none;
border:none;
text-align:left;
font-size:18px;
font-weight:700;
cursor:pointer;
color:#0f172a;
}

.tbz-faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .3s ease;
}

.tbz-faq-answer p{
padding:0 24px 24px;
color:#64748b;
}

/* =========================
RELATED TOOLS
========================= */

.tbz-related-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.tbz-related-card{
display:flex;
align-items:center;
justify-content:center;
height:120px;
background:#fff;
border-radius:22px;
border:1px solid #e2e8f0;
text-decoration:none;
font-weight:700;
font-size:18px;
color:#0f172a;
transition:.25s ease;
}

.tbz-related-card:hover{
transform:translateY(-5px);
border-color:#25D366;
box-shadow:
0 10px 30px rgba(15,23,42,.08);
}

/* =========================
TOAST
========================= */

.tbz-toast{
position:fixed;
bottom:30px;
left:50%;
transform:translateX(-50%) translateY(40px);
background:#0f172a;
color:#fff;
padding:14px 22px;
border-radius:14px;
font-size:14px;
font-weight:600;
opacity:0;
visibility:hidden;
transition:.3s ease;
z-index:9999;
}

.tbz-toast.active{
opacity:1;
visibility:visible;
transform:translateX(-50%) translateY(0);
}

/* =========================
LOADING SHIMMER
========================= */

.loading-shimmer{
animation:tbzPulse 1s infinite;
}

@keyframes tbzPulse{

0%{
opacity:1;
}

50%{
opacity:.6;
}

100%{
opacity:1;
}

}

/* =========================
RESPONSIVE
========================= */

@media(max-width:991px){

.tbz-main-card{
grid-template-columns:1fr;
}

.tbz-template-grid,
.tbz-how-grid,
.tbz-related-grid{
grid-template-columns:1fr 1fr;
}

.tbz-hero h1{
font-size:42px;
}

}

@media(max-width:768px){

.tbz-cod-tool{
padding-top:50px;
}

.tbz-main-card{
padding:20px;
border-radius:24px;
}

.tbz-hero h1{
font-size:34px;
}

.tbz-hero p{
font-size:16px;
}

.tbz-section-heading h2{
font-size:30px;
}

.tbz-template-grid,
.tbz-how-grid,
.tbz-related-grid{
grid-template-columns:1fr;
}

.tbz-actions{
position:fixed;
left:0;
bottom:0;
width:100%;
padding:14px;
background:#fff;
z-index:999;
box-shadow:
0 -10px 30px rgba(15,23,42,.08);
}

.tbz-actions button{
flex:1;
height:52px;
padding:0 12px;
font-size:14px;
}

body{
padding-bottom:100px;
}

#messageOutput{
height:360px;
}

}