/* APCCN 2026 overrides for Dropbe (poster brown/gold/green tone) */
.apccn-cd-box{ background:#fff; border:2px solid #b8860b; border-radius:12px; padding:14px 18px; min-width:84px; text-align:center; box-shadow:0 8px 24px rgba(0,0,0,.08); }
.apccn-cd-box span{ display:block; font-size:38px; font-weight:800; line-height:1; color:#4a2e18; }
.apccn-cd-box small{ display:block; margin-top:6px; font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#6b8e23; font-weight:700; }
.hero-one__sub{ margin-bottom:10px; }
@media (max-width:575px){ .apccn-cd-box{ min-width:64px; padding:10px; } .apccn-cd-box span{ font-size:26px; } }

/* ===== Hero typography แบบ fluid — ปรับขนาดตัวอักษรให้พอดีกับ hero-bg-1-1.png ทุกขนาดจอ =====
   ใช้ clamp(min, ขนาดตามความกว้างจอ, max) แทนการกระโดดเป็นช่วงๆ จึงย่อ/ขยายลื่นไหลและไม่ล้นพื้นหลัง */
.hero-one__sub{
    font-size:clamp(0.72rem, 1.5vw, 1.15rem) !important;
    line-height:1.35;
    overflow-wrap:break-word;
}
.hero-one__title{
    font-size:clamp(2.1rem, 6.8vw, 90px) !important;
    line-height:1.05;
    margin-bottom:clamp(18px, 3vw, 48px) !important;
    overflow-wrap:break-word;
    word-break:break-word;
}
.hero-one__text{
    font-size:clamp(0.95rem, 1.35vw, 1.25rem) !important;
    line-height:1.6;
}
/* span เน้นวันที่ในย่อหน้า (23-24 November...) เป็น em อยู่แล้ว จึงสเกลตามอัตโนมัติ */

/* 3D vegetable decorations */
.apccn-veg{ vertical-align:middle; filter:drop-shadow(0 6px 12px rgba(0,0,0,.12)); }
.apccn-orgby{ margin-top:16px; }
.apccn-orgby span{ font-size:13px; color:#cbb994; text-transform:uppercase; letter-spacing:1px; }
.apccn-eventlogo img{ vertical-align:middle; }

/* header 3-logo frame (so logos are visible) */
.apccn-eventlogo{ background:#fff; border-radius:10px; padding:6px 14px; display:inline-flex; align-items:center; box-shadow:0 3px 12px rgba(0,0,0,.10); }
.apccn-eventlogo img{ vertical-align:middle; }
.apccn-orgby img{ background:#fff; border-radius:6px; padding:4px; }
/* rotating circle text smaller so letters don't overlap */
.curved-circle--item, .curved-circle--item span{ font-size:30px !important; font-weight:700; letter-spacing:0 !important; }
/* hero wheel: ข้อความยาว ("Nourishing a Sustainable Future") ต้องเล็กกว่าเพื่อไม่ให้โค้งเพี้ยน/ทับกัน */
.hero-one .curved-circle--item, .hero-one .curved-circle--item span{ font-size:21px !important; }
/* #1 -> APCCN smaller + สีน้ำตาล */
.apccn-cc-small span{ font-size:17px !important; font-weight:800; }
.hero-one .curved-circle-box__content, .hero-one .curved-circle-box__content span{ color:#6b4a2f !important; }
/* hero ฝั่งขวา: วงล้อหมุน — ซ่อนไว้ก่อน */
.apccn-hero-badge-row{ display:none !important; }
.hero-one .apccn-hero-badge-row .curved-circle-box{ position:relative !important; top:auto !important; right:auto !important; left:auto !important; margin:0; flex:0 0 auto; }
/* event-logo: ซ่อนไว้ก่อน */
.apccn-eventlogo-beside{ display:none !important; }
/* ซ่อน hero-shape-1-2.png */
.hero-one__shape-two{ display:none !important; }
/* ช้าง — วางในแนว flow เต็มความกว้างคอลัมน์ (100%) */
.hero-one__right__image.apccn-eventlogo-hero{ position:static; bottom:auto; margin-left:0; text-align:center; }
.apccn-hero-elephant{ display:block; width:720px; max-width:54vw; height:auto; margin:0 auto; opacity:1; pointer-events:none; filter:drop-shadow(0 12px 32px rgba(0,0,0,.22)); }
/* ---- จอกลาง/แท็บเล็ต: ช้างชัดขึ้น ---- */
@media(max-width:1199px){
    .apccn-hero-elephant{ width:520px; max-width:80vw; }
}
/* ---- mobile: จัดวงล้อ + ช้าง ให้อยู่กลาง สวยงาม ---- */
@media(max-width:991px){
    .hero-one__right{ margin-top:24px; }
    .apccn-hero-badge-row{ margin-top:0; }
    .apccn-hero-elephant{ width:80%; max-width:340px; }
}

/* ===== ลายไทย (thai-pattern) — เอาออกตามคำขอ (ไม่แสดงลายซ้อนบน bg อีกต่อไป) ===== */
.page-wrapper{ position:relative; z-index:0; background:transparent; }
/* event logo move up */
/* orange-bar CTA slider */
.apccn-cta-slider{ position:relative; min-height:92px; display:flex; align-items:center; justify-content:center; }
.apccn-cta-slide{ display:none; align-items:center; gap:18px; }
.apccn-cta-slide.active{ display:flex; animation:apccnFade .7s ease; }
.apccn-cta-slide h4{ margin:0; }
@keyframes apccnFade{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

/* footer copyright + social black text */
.main-footer__copyright{ color:#111 !important; }
.main-footer__bottom__social span{ color:#111 !important; }
.main-footer__bottom__social a{ color:#111 !important; }
/* footer logos no white frame */
.footer-widget__logo img{ background:none !important; }

/* footer decorative element: move off the text */
.main-footer__element-four{ left:auto !important; right:4% !important; bottom:10% !important; z-index:0; opacity:.7; }
.main-footer__top .container{ position:relative; z-index:2; }

/* ===== Welcome rotating circle (replicate hero styling, scoped to about-one) ===== */
.about-one__thumb{ position:relative; }
.about-one .curved-circle-box{ width:210px; height:210px; background-color:#dcb56a; display:inline-flex; justify-content:center; align-items:center; border-radius:30%; z-index:2; position:absolute; right:4%; bottom:6%; border:1px solid #4a2e18; }
/* ลดความสดของสีพื้นวงล้อใน hero (เดิม theme ใช้ #ffb336 สด) */
.hero-one .curved-circle-box{ background-color:#dcb56a !important; }
.about-one .curved-circle-box__content{ width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; color:#4a2e18; font-weight:bold; position:absolute; inset:0; margin:auto; z-index:3; }
.about-one .curved-circle-box__content span{ font-size:26px !important; font-weight:800; }
.about-one .curved-circle{ position:absolute; inset:0; margin:auto; width:210px !important; height:210px !important; display:flex; justify-content:center; align-items:center; animation:rotate 15s linear 0s forwards infinite; }
.about-one .curved-circle--item{ width:210px !important; height:210px !important; font-size:28px !important; color:#4a2e18; font-weight:bold; line-height:.613; transform:matrix(-0.0423293642,-0.7538370901,0.7538370901,-0.0423293642,0,0); -webkit-transform:matrix(-0.0423293642,-0.7538370901,0.7538370901,-0.0423293642,0,0); }
.about-one .curved-circle--item span{ font-size:28px !important; }
@media(max-width:991px){ .about-one .curved-circle-box{ display:none !important; } }

/* ===== Welcome: two committee portraits (duo) — responsive, no off-screen bleed ===== */
.about-one__thumb--duo{ margin-left:0 !important; margin-right:0 !important; max-width:100% !important; }
.about-one__thumb--duo img{ max-width:100% !important; border-radius:50% !important; }
@media(max-width:991px){
  .about-one__thumb--duo{ max-width:520px !important; margin:0 auto !important; }
  .about-one__thumb--duo img{ max-width:100% !important; }
}
@media(max-width:420px){
  .about-one__thumb--duo .col-6{ flex:0 0 100%; max-width:100%; }
}

/* keep hero text/badges above the decorative rotating shapes (overlapped the title at ~1200–1600px) */
.hero-one .container{ position:relative; z-index:3; }
.hero-one__shape-two img, .hero-one__shape-three img, .hero-one__shape-foue img{ pointer-events:none; }
/* hero-shape-1-4 sits at left:2% — overlaps the title between ~1200–1399px (container nearly fills viewport).
   It's already hidden <=1199px; hide it through 1399px too, keep it only where there's room (>=1400px). */
@media(max-width:1399px){ .hero-one__shape-foue{ display:none !important; } }

/* ===== Home hero: event logo position (desktop up more, mobile tidy) ===== */
.apccn-eventlogo-hero{ bottom:230px !important; }
@media(max-width:1199px){
  .apccn-eventlogo-hero{ margin-top:20px; text-align:center; }
  .apccn-eventlogo-hero img{ max-width:320px; margin:0 auto; }
  .hero-one__right{ text-align:center; }
}

/* mobile: center Korrakot image + event logo */
@media(max-width:1199px){
  .apccn-eventlogo-hero{ bottom:auto !important; position:relative !important; }
  .apccn-eventlogo-hero img{ display:block; margin:0 auto; max-width:320px; }
}
@media(max-width:991px){
  .about-one__thumb{ text-align:center; }
  .about-one__thumb img{ margin:0 auto !important; max-width:360px; display:block; }
}

/* veg decoration above event logo */
.apccn-hero-veg{ display:flex; justify-content:center; gap:6px; margin-bottom:6px; }
.apccn-hero-veg img{ height:58px; width:auto; filter:drop-shadow(0 6px 10px rgba(0,0,0,.15)); }
.apccn-hero-veg img:nth-child(2){ height:72px; }
.apccn-hero-veg img:nth-child(3){ height:66px; }
@media(max-width:575px){ .apccn-hero-veg img{ height:42px; } .apccn-hero-veg img:nth-child(2){ height:52px; } }
/* welcome mobile centering (strengthen) */
@media(max-width:991px){
  .about-one .col-lg-5{ text-align:center; }
  .about-one__thumb{ display:inline-block; text-align:center; }
  .about-one__thumb img{ margin:0 auto !important; max-width:340px; display:block; }
}

/* ===== Mobile fixes (buttons inline, logo & welcome image centered) ===== */
@media(max-width:991px){
  /* Register + View Schedule on one line */
  .hero-one__btn{ justify-content:center; }
  .hero-one__btn__link{ display:flex !important; flex-direction:row !important; gap:10px; flex-wrap:nowrap; justify-content:center; }
  .hero-one__btn__link a.dropbe-btn{ flex:0 0 auto; white-space:nowrap; padding-left:18px; padding-right:18px; margin:0 !important; }

  /* event logo + veg centered */
  .hero-one__right{ text-align:center !important; }
  .apccn-eventlogo-hero{ text-align:center !important; left:0 !important; right:0 !important; margin-left:auto !important; margin-right:auto !important; }
  .apccn-eventlogo-hero img{ display:block; margin:0 auto !important; }
  .apccn-hero-veg{ justify-content:center !important; }

  /* Welcome Korrakot image centered */
  .about-one .row{ justify-content:center; }
  .about-one .col-lg-5{ text-align:center !important; }
  .about-one__thumb{ display:block !important; text-align:center !important; margin:0 auto !important; max-width:360px; }
  .about-one__thumb img{ display:block !important; margin:0 auto !important; max-width:100% !important; float:none !important; }
}
@media(max-width:400px){
  .hero-one__btn__link a.dropbe-btn{ padding-left:12px; padding-right:12px; font-size:13px; }
}

/* FIX: hero-one__right pushed right by 80px on mobile -> reset & center */
@media(max-width:1199px){
  .hero-one__right{ margin-left:0 !important; text-align:center !important; }
  .hero-one__right__image{ margin-left:0 !important; text-align:center !important; }
}

/* ===== Login / Player pages ===== */
.apccn-card{ background:#fff; border:1px solid #e0d6c3; border-radius:14px; padding:40px; box-shadow:0 10px 40px rgba(0,0,0,.08); position:relative; z-index:2; }
.apccn-field{ margin-bottom:18px; }
.apccn-field label{ font-weight:600; display:block; margin-bottom:6px; color:#4a2e18; }
.apccn-field .req{ color:#c0392b; }
.apccn-field .form-control{ width:100%; padding:12px 14px; border:1px solid #d9cdb6; border-radius:8px; }
.apccn-player{ position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:12px; background:#000; box-shadow:0 12px 40px rgba(0,0,0,.18); }
.apccn-player video{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
/* right-side page decorations (hidden on mobile) */
.apccn-page-deco{ position:absolute; right:2%; z-index:0; opacity:.9; pointer-events:none; }
.apccn-page-deco--1{ top:8%; width:90px; }
.apccn-page-deco--2{ bottom:8%; width:200px; }
@media(max-width:991px){ .apccn-page-deco{ display:none !important; } }

/* Player page: shorter header banner + white player bg (keep logo's background) */
body.apccn-player-page .page-header{ padding-top:130px !important; padding-bottom:55px !important; }
.apccn-player{ background:#fff !important; }
.apccn-player video{ background:#fff !important; object-fit:contain; }

/* Reduce page-header (banner) height on ALL inner pages (same as player) */
.page-header{ padding-top:130px !important; padding-bottom:55px !important; }

/* อย่า capitalize อีเมล/เบอร์โทรใน footer (text-transform จาก .footer-widget__text) */
.footer-widget__text a[href^="mailto:"],
.footer-widget__text a[href^="tel:"]{ text-transform:none; }
