/* ===== 가맹신청하기 (franchise) page — pixel-matched to Figma 191:17019 ===== */
/* Suppress theme auto page-title (we render the large title ourselves); keep breadcrumb. */
.pb-page:has(.pb-franchise) > .pb-page-title{display:none;}
/* breadcrumb는 전역 .pb-breadcrumb 스타일을 그대로 사용(다른 페이지와 통일) */

.pb-franchise{background:#fff;}
.pb-franchise *{box-sizing:border-box;}
.pb-franchise .fr-wrap{max-width:1200px;margin:0 auto;font-family:"Pretendard",sans-serif;color:#141d2f;}

/* header */
.pb-franchise .fr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:39px;}
.pb-franchise .fr-head__txt h1{font-weight:700;font-size:44px;line-height:56px;color:#141d2f;margin:0 0 17px;}
.pb-franchise .fr-head__txt p{font-weight:400;font-size:17px;line-height:28px;color:#3e485b;margin:0;}

/* hero callout */
.pb-franchise .fr-callout{display:flex;align-items:center;gap:28px;width:430px;height:168px;flex:none;
  background:#ecf5ff;border:1px solid #dae4f3;border-radius:22px;
  box-shadow:0 10px 24px 0 rgba(18,38,75,.06);padding:0 26px;}
.pb-franchise .fr-callout__ic{width:92px;height:92px;border-radius:22px;background:#fff;
  display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 4px 12px rgba(45,114,226,.12);}
.pb-franchise .fr-callout__ic img{width:40px;height:40px;display:block;}
.pb-franchise .fr-callout__txt b{display:block;font-weight:700;font-size:20px;line-height:28px;color:#2d72e2;margin-bottom:16px;}
.pb-franchise .fr-callout__txt span{display:block;font-weight:400;font-size:15px;line-height:24px;color:#3e485b;}

/* benefit cards */
.pb-franchise .fr-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22.5px;margin-bottom:39px;}
.pb-franchise .fr-benefit{display:flex;flex-direction:column;min-height:150px;padding:34px;
  background:#fff;border:1px solid #dae4f3;border-radius:12px;box-shadow:0 10px 24px 0 rgba(18,38,75,.06);}
.pb-franchise .fr-benefit__ic{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:13px;flex:none;}
.pb-franchise .fr-benefit__ic img{width:24px;height:24px;display:block;}
.pb-franchise .fr-benefit__ic--blue{background:#e9f1fd;}
.pb-franchise .fr-benefit__ic--green{background:#e6f7ef;}
.pb-franchise .fr-benefit__ic--orange{background:#fff3e3;}
.pb-franchise .fr-benefit__txt b{display:block;font-weight:700;font-size:21px;line-height:28px;color:#141d2f;margin-bottom:18px;}
.pb-franchise .fr-benefit__txt span{display:block;font-weight:400;font-size:14px;line-height:22px;color:#3e485b;}

/* grid: guide + form */
.pb-franchise .fr-grid{display:grid;grid-template-columns:760px 400px;gap:40px;margin-bottom:0;}

/* guide panel — rounded top only (notice strip joins below) */
.pb-franchise .fr-guide{background:#fff;border:1px solid #dae4f3;border-bottom:0;
  border-radius:14px 14px 0 0;box-shadow:0 10px 24px 0 rgba(18,38,75,.06);padding:40px 34px 38px;}
.pb-franchise .fr-guide h2{font-weight:700;font-size:28px;line-height:36px;color:#141d2f;margin:0 0 17px;}
.pb-franchise .fr-guide__lead{font-weight:400;font-size:16px;line-height:26px;color:#3e485b;margin:0 0 30px;}

.pb-franchise .fr-steps{list-style:none;margin:0;padding:0;}
.pb-franchise .fr-steps li{display:flex;align-items:flex-start;gap:20px;position:relative;padding-bottom:30px;}
.pb-franchise .fr-steps li:last-child{padding-bottom:0;}
.pb-franchise .fr-steps li:not(:last-child)::before{content:"";position:absolute;left:20px;top:42px;bottom:8px;width:1px;background:#dae4f3;}
.pb-franchise .fr-steps__n{position:relative;z-index:1;width:42px;height:42px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;line-height:18px;
  background:#eaf1fd;color:#2d72e2;}
.pb-franchise .fr-steps__n--on{background:#2d72e2;color:#fff;}
.pb-franchise .fr-steps__n+div{padding-top:4px;}
.pb-franchise .fr-steps li b{display:block;font-weight:700;font-size:18px;line-height:24px;color:#141d2f;margin-bottom:4px;}
.pb-franchise .fr-steps li div span{display:block;font-weight:400;font-size:14px;line-height:22px;color:#3e485b;}

.pb-franchise .fr-support{display:flex;align-items:center;gap:10px;height:36px;margin-top:25px;
  background:#ecf5ff;border:1px solid #dae4f3;border-radius:8px;padding:0 18px;}
.pb-franchise .fr-support img{width:20px;height:20px;display:block;flex:none;}
.pb-franchise .fr-support p{margin:0;font-size:14px;line-height:22px;color:#2d72e2;}
.pb-franchise .fr-support p b{font-weight:700;}

/* form panel */
.pb-franchise .fr-form{background:#fff;border:1px solid #dae4f3;border-radius:14px;
  box-shadow:0 10px 24px 0 rgba(18,38,75,.06);padding:34px 42px;}
.pb-franchise .fr-form h3{font-weight:700;font-size:28px;line-height:36px;color:#141d2f;margin:0 0 12px;}
.pb-franchise .fr-form__desc{font-weight:400;font-size:15px;line-height:22px;color:#3e485b;margin:0 0 24px;}

.pb-franchise .fr-field{margin-bottom:22px;}
.pb-franchise .fr-field>label{display:block;font-weight:700;font-size:14px;line-height:20px;color:#141d2f;margin-bottom:7px;}
.pb-franchise .fr-input{display:flex;align-items:center;height:46px;background:#fff;
  border:1px solid #dae4f3;border-radius:6px;padding:0 16px;}
.pb-franchise .fr-input__ic{width:20px;height:20px;display:block;flex:none;margin-right:12px;}
.pb-franchise .fr-input input{flex:1;border:0;outline:0;background:transparent;
  font-family:inherit;font-size:13px;line-height:20px;color:#141d2f;padding:0;}
.pb-franchise .fr-input input::placeholder{color:#808b9c;}
.pb-franchise .fr-input--area{height:86px;align-items:flex-start;padding:13px 16px;}
.pb-franchise .fr-input--area .fr-input__ic{margin-top:0;}
.pb-franchise .fr-input--area textarea{flex:1;border:0;outline:0;background:transparent;resize:none;height:60px;
  font-family:inherit;font-size:13px;line-height:20px;color:#141d2f;padding:0;}
.pb-franchise .fr-input--area textarea::placeholder{color:#808b9c;}

.pb-franchise .fr-agree{display:flex;align-items:center;gap:8px;margin:24px 0 22px;position:relative;}
.pb-franchise .fr-agree input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;
  border:1px solid #2d72e2;border-radius:4px;background:#2d72e2;flex:none;cursor:pointer;position:relative;margin:0;}
.pb-franchise .fr-agree input[type=checkbox]:not(:checked){background:#fff;border-color:#dae4f3;}
.pb-franchise .fr-agree input[type=checkbox]:checked::after{content:"";position:absolute;left:5px;top:4px;width:9px;height:6px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}
.pb-franchise .fr-agree label{font-weight:400;font-size:13px;line-height:20px;color:#3e485b;cursor:pointer;}
.pb-franchise .fr-agree__view{margin-left:auto;font-weight:700;font-size:13px;line-height:20px;color:#2d72e2;text-decoration:none;}

.pb-franchise .fr-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:56px;
  background:#2d72e2;border:0;border-radius:8px;color:#fff;font-family:inherit;font-weight:700;font-size:18px;line-height:26px;
  cursor:pointer;text-decoration:none;}
.pb-franchise .fr-submit img{width:22px;height:22px;display:block;}

.pb-franchise .fr-result{display:flex;align-items:center;gap:12px;background:#ecf5ff;border:1px solid #dae4f3;
  border-radius:8px;padding:18px;}
.pb-franchise .fr-result__ic{width:32px;height:32px;border-radius:50%;background:#2d72e2;flex:none;
  display:flex;align-items:center;justify-content:center;}
.pb-franchise .fr-result__ic img{width:18px;height:18px;display:block;}
.pb-franchise .fr-result b{font-weight:700;font-size:15px;line-height:22px;color:#141d2f;}

/* notice strip — joins under guide panel (same 760px column) */
.pb-franchise .fr-notice{grid-column:1;width:760px;display:flex;align-items:center;gap:18px;height:112px;
  background:#ecf5ff;border:1px solid #dae4f3;border-radius:0 0 12px 12px;
  box-shadow:0 10px 24px 0 rgba(18,38,75,.06);padding:0 34px;margin-top:-1px;}
.pb-franchise .fr-notice__ic{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;}
.pb-franchise .fr-notice__ic img{width:42px;height:42px;display:block;}
.pb-franchise .fr-notice__txt b{display:block;font-weight:700;font-size:22px;line-height:30px;color:#141d2f;margin-bottom:4px;}
.pb-franchise .fr-notice__txt span{display:block;font-weight:400;font-size:15px;line-height:24px;color:#3e485b;}

/* responsive */
@media (max-width:1240px){
  .pb-franchise .fr-wrap{padding-left:20px;padding-right:20px;}
  .pb-franchise .fr-grid{grid-template-columns:1fr;}
  .pb-franchise .fr-guide{border-bottom:1px solid #dae4f3;border-radius:14px;}
  .pb-franchise .fr-notice{width:auto;grid-column:auto;border-radius:12px;margin-top:0;}
  .pb-franchise .fr-head{flex-direction:column;}
  .pb-franchise .fr-callout{width:100%;}
}
@media (max-width:820px){
  .pb-franchise .fr-benefits{grid-template-columns:1fr;}
  .pb-franchise .fr-head__txt h1{font-size:34px;line-height:44px;}
  /* 고정 높이 → 내용에 맞게 (내용 잘림 방지) */
  .pb-franchise .fr-benefit{height:auto;}
  .pb-franchise .fr-callout{height:auto;padding:22px 24px;}
  .pb-franchise .fr-notice{height:auto;padding:22px 26px;align-items:flex-start;}
}

/* 모바일(작은 화면): 과한 좌우 패딩 축소 + 고정 높이 해제로 잘림/좁음 방지 */
@media (max-width:520px){
  .pb-franchise .fr-wrap{padding-left:14px;padding-right:14px;}
  .pb-franchise .fr-head__txt h1{font-size:28px;line-height:38px;}
  .pb-franchise .fr-head__txt p{font-size:15px;line-height:24px;}

  .pb-franchise .fr-callout{gap:16px;padding:20px 18px;border-radius:16px;}
  .pb-franchise .fr-callout__ic{width:64px;height:64px;border-radius:16px;}

  .pb-franchise .fr-benefits{gap:14px;}
  .pb-franchise .fr-benefit{padding:22px 20px;}

  .pb-franchise .fr-grid{gap:16px;}
  .pb-franchise .fr-guide{padding:26px 18px 26px;}
  .pb-franchise .fr-guide h2{font-size:24px;line-height:32px;}
  .pb-franchise .fr-steps li{gap:14px;}

  /* 상담문의 줄: 좁은 폭에서 줄바꿈 허용(전화번호 잘림 방지) */
  .pb-franchise .fr-support{height:auto;padding:12px 14px;flex-wrap:wrap;}
  .pb-franchise .fr-support p{font-size:13px;line-height:20px;word-break:keep-all;}

  .pb-franchise .fr-form{padding:26px 18px;}
  .pb-franchise .fr-form h3{font-size:24px;line-height:32px;}

  .pb-franchise .fr-notice{padding:18px 18px;}
  .pb-franchise .fr-notice__txt b{font-size:18px;line-height:26px;}
}
