/* =========================================
   PAGE: BRIEF (#page-brief)
   ========================================= */
#page-brief {
  --brf-brand: #1c3a27;        
  --brf-accent: #c45a40;       
  --brf-gold: #b99056;         
  --brf-bg-main: #f8f5ec;      
  --brf-bg-alt: #ebe4d6;       
  --brf-text-dark: #2c2c2c;
  --brf-text-eyebrow: #be5737;
  --brf-text-muted: #6b7280;
  --brf-text-desc: color-mix(in oklab, #f7f1e5 70%, transparent);
  --brf-border: rgba(29, 70, 52, 0.1);
  
  --font-bold: 'TikTokSans-Bold', sans-serif;
  --font-reg: 'TikTokSans-Regular', sans-serif;

  --spacing: .25rem;

  font-family: var(--font-reg);
  color: var(--brf-text-dark);
  background-color: var(--brf-bg-main);
  line-height: 1.6;
}

/* --- UTILITIES --- */
#page-brief .brf-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
#page-brief .brf-section { padding: 5rem 0; }
#page-brief .bg-secondary { background-color: var(--brf-bg-alt); }
#page-brief .text-accent { color: var(--brf-accent); }
#page-brief .rounded { border-radius: 4px; }
#page-brief .brf-max-4xl { max-width: 900px; }

/* --- TYPOGRAPHY --- */
#page-brief .brf-eyebrow { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--brf-text-eyebrow); margin-bottom: 1.25rem; font-family: var(--font-bold); }
#page-brief .brf-title-xl { font-family: var(--font-bold); font-size: clamp(2.5rem, 5vw, 4.5rem); color: var(--brf-brand); line-height: 1.15; margin-bottom: 1.5rem; }
#page-brief .brf-lede { font-size: 1.125rem; color: var(--brf-text-muted); max-width: 650px; line-height: 1.7; }

/* --- GRID SYSTEM & STICKY FIX --- */
#page-brief .brf-grid-12 { 
  display: grid; 
  grid-template-columns: repeat(12, 1fr); 
  gap: 3rem; 
  align-items: stretch; /* FIX 1: Cho phép cột trái dài bằng cột phải để có đường trượt */
}
#page-brief .brf-col-4 { grid-column: span 4; }
#page-brief .brf-col-8 { grid-column: span 8; }
#page-brief .brf-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }

/* --- HERO --- */
#page-brief .brf-hero { padding-top: 10rem; padding-bottom: 4rem; position: relative; }
#page-brief .brf-bg-grain { background-image: radial-gradient(circle at 20% 30%, color-mix(in oklab, var(--brf-accent) 8%, transparent) 0, transparent 40%), radial-gradient(circle at 80% 70%, color-mix(in oklab, var(--brf-gold) 10%, transparent) 0, transparent 40%); }

/* --- STICKY SIDEBAR --- */
#page-brief .brf-content { padding-bottom: 8rem; }
#page-brief .brf-sticky-box { 
  position: sticky; 
  top: 120px; 
  padding: 2.5rem; 
  height: max-content; /* FIX 2: Bắt buộc để Sticky hoạt động bên trong thẻ cha đang stretch */
}
#page-brief .brf-eyebrow-dark { font-size: 0.875rem; text-transform: uppercase; color: var(--brf-text-eyebrow); margin-bottom: 0.75rem; font-family: var(--font-bold); }
#page-brief .brf-text-sm { font-size: 0.875rem; color: var(--brf-text-muted); line-height: 1.6; }
#page-brief .brf-contact-direct { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--brf-border); }
#page-brief .brf-label-mini { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--brf-text-muted); margin-bottom: 6px; }
#page-brief .brf-email-link { font-family: serif; font-size: 1.25rem; color: var(--brf-brand); text-decoration: none; transition: color 0.3s; }
#page-brief .brf-email-link:hover { color: var(--brf-accent); }
#page-brief .brf-note-italic { font-size: 0.75rem; font-style: italic; color: var(--brf-text-muted); margin-top: 1.5rem; line-height: 1.5; opacity: 0.8; }

/* --- THE FORM & CONTACT FORM 7 OVERRIDES --- */
#page-brief .brf-form { display: flex; flex-direction: column; gap: 2rem; }
#page-brief .brf-form p { margin: 0; } /* FIX 3: Xóa khoảng cách thừa do thẻ p của CF7 sinh ra */
#page-brief .wpcf7-form-control-wrap { display: block; width: 100%; } /* FIX 4: Đảm bảo Input chiếm 100% width bị CF7 bóp lại */
#page-brief .wpcf7-not-valid-tip { font-size: 0.75rem; color: var(--brf-accent); margin-top: 4px; display: block; }
#page-brief .wpcf7 form.invalid .wpcf7-response-output, #page-brief .wpcf7 form.unaccepted .wpcf7-response-output { border-color: var(--brf-accent); color: var(--brf-accent); margin: 0; }
#page-brief .wpcf7 form.sent .wpcf7-response-output { border-color: var(--brf-brand); color: var(--brf-brand); margin: 0; }

#page-brief .brf-field { display: block; }
#page-brief .brf-label { display: block; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--brf-text-eyebrow); margin-bottom: 8px; font-family: var(--font-bold); }

/* Inputs & Selects & Textarea */
#page-brief .brf-input, 
#page-brief .brf-select, 
#page-brief .brf-textarea { 
  width: 100%; 
  background: var(--brf-bg-main); 
  border: 1px solid var(--brf-border); 
  border-radius: 4px; 
  padding: 14px 16px; 
  font-size: 0.9rem; 
  font-family: var(--font-reg); 
  color: var(--brf-text-dark); 
  transition: all 0.3s ease; 
  outline: none; 
}
#page-brief .brf-input:focus, 
#page-brief .brf-select:focus, 
#page-brief .brf-textarea:focus { border-color: var(--brf-accent); box-shadow: 0 0 0 1px var(--brf-accent); }
#page-brief .brf-select { appearance: none; background-image: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%231d4634" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m6 9 6 6 6-6"/></svg>'); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1rem; }
#page-brief .brf-textarea { resize: vertical; min-height: 120px; }

/* Pills Group (Multi-select) */
#page-brief .brf-pills-group { display: flex; flex-wrap: wrap; gap: 8px; }
#page-brief .brf-pill { font-size: 0.875rem; padding: 8px 18px; border: 1px solid var(--brf-border); border-radius: 50px; background: transparent; color: rgba(44, 44, 44, 0.7); cursor: pointer; transition: all 0.2s ease; font-family: var(--font-reg); }
#page-brief .brf-pill:hover { border-color: var(--brf-accent); color: var(--brf-accent); }
#page-brief .brf-pill.is-active { background: var(--brf-accent); border-color: var(--brf-accent); color: #fff; }

/* Dropzone (Upload) */
#page-brief .brf-dropzone { border: 1px dashed var(--brf-border); background: var(--brf-bg-main); padding: 2.5rem; text-align: center; border-radius: 4px; cursor: pointer; transition: all 0.3s ease; display: block; }
#page-brief .brf-dropzone:hover { border-color: var(--brf-accent); }
#page-brief .brf-upload-icon { color: var(--brf-accent); margin: 0 auto 10px; width: 24px; height: 24px; }
#page-brief .brf-file-name { font-size: 0.875rem; color: var(--brf-text-muted); margin: 0; }
#page-brief .brf-file-input { display: none; }

/* Submit Button */
#page-brief .brf-btn-submit, #page-brief .wpcf7-form-control.wpcf7-submit { background: var(--brf-brand); color: #fff; padding: 16px 32px; border-radius: 50px; border: none; font-family: var(--font-bold); font-size: 1rem; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: background 0.3s ease; width: fit-content; }
#page-brief .brf-btn-submit:hover, , #page-brief .wpcf7-form-control.wpcf7-submit:hover { background: #143325; }

/* --- ANIMATIONS --- */
#page-brief .brf-fade-up { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
#page-brief .brf-fade-up.is-visible { opacity: 1; transform: translateY(0); }
#page-brief .style-delay-1 { transition-delay: 0.1s; }
#page-brief .style-delay-2 { transition-delay: 0.2s; }

/* --- RESPONSIVE --- */
@media (max-width: 992px) {
  #page-brief .brf-grid-12 { display: flex; flex-direction: column; gap: 3rem; }
  #page-brief .brf-sticky-box { position: relative; top: 0; }
}
@media (max-width: 768px) {
  #page-brief .brf-hero { padding-top: 8rem; padding-bottom: 2rem; }
  #page-brief .brf-grid-2 { grid-template-columns: 1fr; gap: 2rem; }
  #page-brief .brf-form { gap: 1.5rem; }
  #page-brief .brf-btn-submit { width: 100%; }
}