{"id":282,"date":"2025-08-04T08:11:15","date_gmt":"2025-08-04T08:11:15","guid":{"rendered":"https:\/\/artroots.studio\/?page_id=282"},"modified":"2026-08-16T11:42:29","modified_gmt":"2026-08-16T11:42:29","slug":"book-now","status":"publish","type":"page","link":"https:\/\/artroots.studio\/ko\/book-now\/","title":{"rendered":"Book a Workshop \u2014 Artroots Studio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"282\" class=\"elementor elementor-282\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-artroots_container_1 e-con-full e-flex e-con e-parent\" data-id=\"artroots_container_1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-artroots_html_widget_1 elementor-widget elementor-widget-html\" data-id=\"artroots_html_widget_1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n<title>Book an Art Workshop in Johor Bahru | ArtRoots Studio<\/title>\n<meta name=\"description\" content=\"Choose and book an ArtRoots Studio workshop in Johor Bahru. View matching 2026 prices, compare creative activities, read workshop details and reserve your preferred date.\" \/>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin \/>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800;900&amp;family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,700;1,800&amp;display=swap\" rel=\"stylesheet\" \/>\n\n<style>\n:root {\n  --sage: #536b3f;\n  --sage-dark: #2f3f2d;\n  --sage-soft: #dde5d2;\n  --cream: #f7f1e5;\n  --cream-mid: #f0e5d3;\n  --paper: #fffdf7;\n  --clay: #c46a45;\n  --clay-soft: #f3ded4;\n  --marigold: #d9a441;\n  --ink: #1f251d;\n  --muted: #6f7569;\n  --line: rgba(47, 63, 45, 0.15);\n  --shadow: 0 18px 45px rgba(47, 63, 45, 0.12);\n  --shadow-soft: 0 10px 28px rgba(47, 63, 45, 0.08);\n  --radius: 28px;\n}\n* { box-sizing: border-box; }\nhtml { scroll-behavior: smooth; overflow-x: hidden; }\nbody {\n  margin: 0;\n  font-family: \"Inter\", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif !important;\n  background: var(--cream) !important;\n  color: var(--ink) !important;\n  line-height: 1.6;\n  overflow-x: hidden;\n}\nbody.modal-open { overflow: hidden; }\na { color: inherit; text-decoration: none; }\nbutton, input { font: inherit; }\nimg { display: block; max-width: 100%; height: auto; }\n.container { width: min(1160px, calc(100% - 36px)); margin-inline: auto; max-width: 100%; }\n.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }\n\n.topbar {\n  position: relative;\n  z-index: 50;\n  background: rgba(247, 241, 229, 0.94);\n  border-bottom: 1px solid var(--line);\n  box-shadow: 0 4px 20px rgba(47, 63, 45, 0.05);\n}\n.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }\n.brand { display: inline-flex; align-items: center; }\n.brand img { height: 48px !important; width: auto !important; object-fit: contain; }\n.navlinks { display: flex; align-items: center; gap: 26px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }\n.navlinks a { transition: color 0.2s ease; }\n.navlinks a:hover, .navlinks a:focus-visible { color: var(--sage-dark); }\n\n.btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  min-height: 48px;\n  padding: 12px 19px !important;\n  border: 1px solid transparent !important;\n  border-radius: 999px !important;\n  font-family: \"Inter\", sans-serif !important;\n  font-size: 14px !important;\n  font-weight: 800 !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0 !important;\n  text-transform: none !important;\n  cursor: pointer;\n  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;\n}\n.btn:hover { transform: translateY(-2px); }\n.btn:focus-visible, .detail-btn:focus-visible, .booking-tab:focus-visible, .modal-close:focus-visible { outline: 3px solid rgba(217, 164, 65, 0.55); outline-offset: 3px; }\n.btn.primary { background: var(--sage) !important; color: #fff !important; box-shadow: 0 12px 28px rgba(83, 107, 63, 0.22); }\n.btn.primary:hover { background: var(--sage-dark) !important; box-shadow: 0 14px 32px rgba(47, 63, 45, 0.28); }\n.btn.secondary { background: #fff !important; color: var(--sage-dark) !important; border-color: var(--line) !important; }\n.btn.secondary:hover { border-color: rgba(47, 63, 45, 0.38) !important; }\n.btn.whatsapp { background: #25d366 !important; color: #fff !important; box-shadow: 0 12px 28px rgba(37, 211, 102, 0.2); }\n.btn.small { min-height: 42px; padding: 10px 15px !important; font-size: 13px !important; }\n\nbody h1, body h2 { font-family: \"Playfair Display\", Georgia, serif !important; color: var(--sage-dark) !important; text-transform: none !important; }\nbody h3, body h4 { font-family: \"Inter\", sans-serif !important; color: var(--sage-dark) !important; text-transform: none !important; }\nbody h1 { font-size: clamp(45px, 6.7vw, 82px) !important; line-height: 0.98 !important; letter-spacing: -0.045em !important; font-weight: 900 !important; margin: 0 0 22px !important; }\nbody h2 { font-size: clamp(34px, 4.4vw, 54px) !important; line-height: 1.04 !important; letter-spacing: -0.035em !important; font-weight: 900 !important; margin: 8px 0 0 !important; }\nh3 { font-size: 23px !important; line-height: 1.08 !important; letter-spacing: -0.025em !important; font-weight: 850 !important; margin: 0 !important; }\nh4 { font-size: 17px !important; font-weight: 850 !important; margin: 0 !important; }\n.display-accent { color: var(--sage) !important; font-style: italic; letter-spacing: -0.035em; }\n.eyebrow { color: var(--clay); font-size: 12px; font-weight: 900; letter-spacing: 0.16em; text-transform: uppercase; }\n.lead { margin: 0 0 28px; max-width: 680px; color: #4d5447; font-size: clamp(17px, 2vw, 21px); line-height: 1.55; }\n.sub { margin: 13px 0 0; max-width: 720px; color: var(--muted); line-height: 1.65; }\n.section { padding: 64px 0; }\n.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 30px; }\n\n.hero { position: relative; overflow: hidden; padding: 76px 0 54px; }\n.hero:before { content: \"\"; position: absolute; width: 420px; height: 420px; border-radius: 50%; right: -120px; top: -160px; background: rgba(217, 164, 65, 0.22); filter: blur(8px); }\n.hero-grid { display: grid; grid-template-columns: 1.08fr 0.92fr; align-items: center; gap: 52px; position: relative; }\n.kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 8px 13px; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--sage); font-size: 13px; font-weight: 850; }\n.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 28px; }\n.trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 650px; }\n.trust-row div { padding: 13px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,0.78); color: var(--sage-dark); font-size: 13px; font-weight: 800; text-align: center; }\n.hero-visual { position: relative; }\n.hero-menu { padding: 15px; border: 1px solid var(--line); border-radius: 34px; background: var(--paper); box-shadow: var(--shadow); transform: rotate(1deg); }\n.hero-menu img { width: 100%; aspect-ratio: 1 \/ 1; object-fit: cover; object-position: center top; border-radius: 24px; background: var(--cream-mid); }\n.hero-float { position: absolute; left: -24px; bottom: 32px; max-width: 250px; padding: 16px 18px; border-radius: 20px; background: var(--sage-dark); color: #fff; box-shadow: 0 18px 36px rgba(47,63,45,0.25); }\n.hero-float strong { display: block; margin-bottom: 3px; font-size: 18px; }\n.hero-float span { font-size: 12px; color: rgba(255,255,255,0.8); }\n\n.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }\n.step { position: relative; min-height: 150px; padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow-soft); }\n.step-no { display: inline-grid; place-items: center; width: 36px; height: 36px; margin-bottom: 16px; border-radius: 50%; background: var(--sage); color: #fff; font-weight: 900; }\n.step p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }\n.steps-section { padding: 42px 0; }\n.steps-section .section-head { margin-bottom: 18px; }\n.steps-section .step { min-height: 0; padding: 18px 20px; }\n.steps-section .step-no { width: 30px; height: 30px; margin-bottom: 11px; font-size: 13px; }\n\n.workshop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }\n.workshop-card { display: flex; flex-direction: column; overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-soft); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.workshop-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }\n.card-image { position: relative; display: grid; place-items: center; min-height: 250px; padding: 14px; background: #efe6d6; }\n.card-image img { width: 100%; height: 230px; object-fit: cover; object-position: center; border-radius: 18px; background: #f7f0e4; }\n.price-badge { position: absolute; top: 16px; right: 16px; padding: 8px 12px; border-radius: 999px; background: var(--sage-dark); color: #fff; box-shadow: 0 8px 20px rgba(47,63,45,0.2); font-size: 12px; font-weight: 900; }\n.card-content { display: flex; flex: 1; flex-direction: column; padding: 22px; }\n.card-kicker { margin-bottom: 8px; color: var(--clay); font-size: 11px; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }\n.card-copy { margin: 11px 0 17px; color: var(--muted); font-size: 13.5px; line-height: 1.55; }\n.card-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }\n.card-tags span { padding: 6px 9px; border-radius: 999px; background: var(--sage-soft); color: var(--sage-dark); font-size: 11px; font-weight: 800; }\n.card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: auto; }\n.detail-btn {\n  min-height: 44px !important;\n  padding: 10px 12px !important;\n  border: 1px solid var(--line) !important;\n  border-radius: 999px !important;\n  background: #fff !important;\n  color: var(--sage-dark) !important;\n  font-size: 13px !important;\n  font-weight: 850 !important;\n  letter-spacing: 0 !important;\n  line-height: 1.2 !important;\n  text-transform: none !important;\n  cursor: pointer;\n}\n.detail-btn:hover { background: var(--sage-soft) !important; border-color: rgba(47,63,45,0.28) !important; }\n\n.booking-section { background: var(--sage-dark) !important; color: #fff; }\n.booking-section h2 { color: #fff !important; }\n.booking-section .sub { color: rgba(255,255,255,0.78); }\n.booking-trust { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }\n.booking-trust span { padding: 8px 11px; border: 1px solid rgba(255,255,255,0.14); border-radius: 999px; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.9); font-size: 12px; font-weight: 800; }\n.booking-shell { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); gap: 22px; align-items: start; margin-top: 30px; }\n.booking-choice { position: sticky; top: 20px; padding: 24px; border-radius: 26px; background: rgba(255,255,255,0.09); border: 1px solid rgba(255,255,255,0.14); }\n.booking-choice h3 { color: #fff !important; }\n.booking-select-wrap { display: none; margin-top: 18px; }\n.booking-select-wrap label { display: block; margin-bottom: 8px; color: rgba(255,255,255,0.82); font-size: 12px; font-weight: 800; }\n.booking-select { width: 100%; min-height: 48px; padding: 11px 42px 11px 14px; border: 1px solid rgba(255,255,255,0.2); border-radius: 15px; background: #fff; color: var(--sage-dark); font: inherit; font-size: 14px; font-weight: 800; }\n.booking-tabs { display: grid; gap: 8px; margin-top: 18px; }\n.booking-tab {\n  width: 100% !important;\n  min-height: 46px !important;\n  padding: 12px 14px !important;\n  border: 1px solid rgba(255,255,255,0.14) !important;\n  border-radius: 15px !important;\n  background: rgba(255,255,255,0.08) !important;\n  color: #fff !important;\n  font-size: 14px !important;\n  font-weight: 780 !important;\n  letter-spacing: 0 !important;\n  line-height: 1.25 !important;\n  text-align: left !important;\n  text-transform: none !important;\n  cursor: pointer;\n  transition: background 0.18s ease, border-color 0.18s ease;\n}\n.booking-tab:hover { background: rgba(255,255,255,0.14) !important; }\n.booking-tab[aria-selected=\"true\"] { background: var(--marigold) !important; border-color: var(--marigold) !important; color: var(--sage-dark) !important; }\n.selected-summary { margin-top: 18px; padding: 15px; border-radius: 18px; background: rgba(255,255,255,0.09); }\n.selected-summary strong { display: block; margin-bottom: 4px; color: #fff; }\n.selected-summary span { color: rgba(255,255,255,0.78); font-size: 13px; }\n.group-booking-note { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.13); color: rgba(255,255,255,0.82); font-size: 12px; line-height: 1.5; }\n.group-booking-note a { color: #fff; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }\n.calendar-card { overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 22px 55px rgba(0,0,0,0.23); }\n.calendar-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid rgba(47,63,45,0.12); }\n.calendar-top strong { color: var(--sage-dark); }\n.calendar-top span { display: block; color: var(--muted); font-size: 12px; }\n#calendar-frame { display: block; width: 100%; min-height: 700px; border: 0; background: #fff; }\n.calendar-fallback { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }\n\n.info-band { background: var(--cream-mid) !important; }\n.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }\n.info-card { display: flex; flex-direction: column; min-height: 270px; padding: 25px; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow-soft); }\n.info-card .card-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 18px; border-radius: 15px; background: var(--clay-soft); color: var(--clay); font-size: 22px; }\n.info-card p { margin: 11px 0 18px; color: var(--muted); font-size: 14px; }\n.info-price { margin-top: auto; margin-bottom: 16px; color: var(--sage); font-size: 18px; font-weight: 900; }\n\n.help-cta { display: grid; grid-template-columns: 1.2fr 0.8fr; align-items: center; gap: 28px; padding: 38px; border-radius: 32px; background: var(--clay); color: #fff; box-shadow: 0 22px 50px rgba(196,106,69,0.22); }\n.help-cta h2 { color: #fff !important; margin: 0 !important; }\n.help-cta p { margin: 12px 0 0; color: rgba(255,255,255,0.84); }\n.help-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }\n\n.faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }\n.faq-item { padding: 20px 22px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); }\n.faq-item p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }\n\n.brand-footer { padding: 42px 0 94px; background: var(--sage-dark) !important; color: rgba(255,255,255,0.78); }\n.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 32px; align-items: start; }\n.footer-logo { height: 50px !important; width: auto !important; margin-bottom: 13px; filter: brightness(0) invert(1); opacity: 0.92; }\n.brand-footer h4 { color: #fff !important; margin-bottom: 12px !important; }\n.brand-footer p { margin: 0; font-size: 13px; }\n.footer-links { display: grid; gap: 7px; font-size: 13px; }\n.footer-links a:hover { color: #fff; }\n\n.modal-backdrop[hidden] { display: none !important; }\n.modal-backdrop { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 18px; background: rgba(25,32,23,0.74); backdrop-filter: blur(6px); }\n.detail-modal { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(760px, 100%); max-height: min(760px, calc(100vh - 36px)); overflow: hidden; border-radius: 30px; background: var(--paper); box-shadow: 0 28px 80px rgba(0,0,0,0.35); }\n.modal-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 26px 20px; border-bottom: 1px solid var(--line); background: rgba(255,253,247,0.96); backdrop-filter: blur(8px); }\n.modal-head h2 { font-size: clamp(28px, 5vw, 42px) !important; }\n.modal-close {\n  flex: 0 0 auto;\n  display: grid !important;\n  place-items: center;\n  width: 42px !important;\n  min-width: 42px !important;\n  height: 42px !important;\n  min-height: 42px !important;\n  padding: 0 !important;\n  border: 1px solid var(--line) !important;\n  border-radius: 50% !important;\n  background: #fff !important;\n  color: var(--sage-dark) !important;\n  font-size: 23px !important;\n  font-weight: 600 !important;\n  letter-spacing: 0 !important;\n  line-height: 1 !important;\n  text-transform: none !important;\n  cursor: pointer;\n}\n.modal-body { overflow: auto; padding: 24px 26px; }\n.modal-preview { display: block; width: 100%; height: 190px !important; max-height: 190px; margin: 0 0 20px; border-radius: 18px; object-fit: cover; background: var(--cream-mid); }\n.modal-preview[hidden] { display: none !important; }\n.modal-intro { margin: 0 0 20px; color: var(--muted); }\n.modal-price-list { display: grid; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }\n.modal-price-list li { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 12px 14px; border-radius: 15px; background: var(--cream); color: var(--sage-dark); }\n.modal-price-list span { font-size: 14px; }\n.modal-price-list strong { flex: 0 0 auto; color: var(--sage-dark); }\n.modal-note { margin: 0 0 20px; padding: 14px 16px; border-radius: 16px; background: var(--sage-soft); color: var(--sage-dark); font-size: 13px; font-weight: 700; }\n.modal-actions { display: flex; gap: 10px; flex-wrap: wrap; }\n.modal-footer { padding: 16px 26px 20px; border-top: 1px solid var(--line); background: rgba(255,253,247,0.98); box-shadow: 0 -10px 24px rgba(47,63,45,0.06); }\n\n.mobile-book { display: none; position: fixed; z-index: 1000; left: 14px; right: 14px; bottom: 12px; padding: 8px; border: 1px solid rgba(47,63,45,0.13); border-radius: 999px; background: rgba(255,253,247,0.92); box-shadow: 0 16px 36px rgba(47,63,45,0.22); backdrop-filter: blur(10px); }\n.mobile-book .btn { width: 100%; }\n\n@media (max-width: 980px) {\n  .hero-grid { grid-template-columns: 1fr 0.82fr; gap: 30px; }\n  .workshop-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }\n  .booking-shell { grid-template-columns: 1fr; }\n  .booking-choice { position: static; }\n  .booking-tabs { grid-template-columns: repeat(2, 1fr); }\n}\n@media (max-width: 760px) {\n  .navlinks { display: none; }\n  .hero { padding: 54px 0 42px; }\n  .hero-grid { grid-template-columns: 1fr; }\n  .hero-visual { max-width: 520px; margin-inline: auto; }\n  .hero-float { left: 8px; bottom: 20px; }\n  .trust-row, .steps, .info-grid, .faq-grid, .footer-grid { grid-template-columns: 1fr; }\n  .section { padding: 52px 0; }\n  .section-head { display: block; }\n  .help-cta { grid-template-columns: 1fr; padding: 28px; }\n  .help-actions { justify-content: flex-start; }\n  .mobile-book { display: block; }\n}\n@media (max-width: 620px) {\n  .container { width: min(100% - 28px, 1160px); }\n  .nav { min-height: 68px; }\n  .brand img { height: 42px !important; }\n  .topbar .btn { min-height: 42px; padding: 10px 14px !important; font-size: 12px !important; }\n  h1 { font-size: clamp(40px, 13vw, 62px) !important; }\n  .workshop-grid { grid-template-columns: 1fr; }\n  .card-image { min-height: 280px; }\n  .card-image img { height: 260px; }\n  .card-actions { grid-template-columns: 1fr; }\n  .booking-tabs { display: none; }\n  .booking-select-wrap { display: block; }\n  .calendar-top, .calendar-fallback { align-items: flex-start; flex-direction: column; }\n  #calendar-frame { min-height: 720px; }\n  .modal-backdrop { padding: 0; align-items: end; }\n  .detail-modal { width: 100%; max-height: 92vh; border-radius: 28px 28px 0 0; }\n  .modal-head, .modal-body, .modal-footer { padding-left: 20px; padding-right: 20px; }\n  .modal-price-list li { gap: 10px; }\n}\n@media (prefers-reduced-motion: reduce) {\n  html { scroll-behavior: auto; }\n  *, *:before, *:after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }\n}\n<\/style>\n<\/head>\n<body>\n\n<header class=\"topbar\">\n  <div class=\"container nav\">\n    <a class=\"brand\" href=\"https:\/\/artroots.studio\/\" aria-label=\"ArtRoots Studio home\">\n      <img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png\" alt=\"ArtRoots Studio\" width=\"180\" height=\"48\" loading=\"eager\" decoding=\"async\" \/>\n    <\/a>\n    <nav class=\"navlinks\" aria-label=\"Booking page navigation\">\n      <a href=\"#workshops\">Workshops<\/a>\n      <a href=\"#book\">Choose a date<\/a>\n      <a href=\"#more-options\">Events &amp; classes<\/a>\n      <a href=\"https:\/\/artroots.studio\/pricelist\/\">Price list<\/a>\n    <\/nav>\n    <a class=\"btn primary small\" href=\"#book\">Book your slot<\/a>\n  <\/div>\n<\/header>\n\n<main id=\"top\">\n  <section class=\"hero\">\n    <div class=\"container hero-grid\">\n      <div>\n        <span class=\"kicker\">ARTROOTS STUDIO - BOOK YOUR WORKSHOP<\/span>\n        <h1>Pick your workshop. Choose your date. <span class=\"display-accent\">Start creating.<\/span><\/h1>\n        <p class=\"lead\">Explore the updated 2026 workshop choices, compare the exact prices and reserve a creative session at ArtRoots Studio, Eco Galleria.<\/p>\n        <div class=\"hero-actions\">\n          <a class=\"btn primary\" href=\"#workshops\">Choose a workshop<\/a>\n          <a class=\"btn secondary\" href=\"https:\/\/artroots.studio\/pricelist\/\">View full price list<\/a>\n        <\/div>\n        <div class=\"trust-row\">\n          <div>Beginner friendly<\/div>\n          <div>Materials provided<\/div>\n          <div>Tuesday-Sunday<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"hero-visual\">\n        <div class=\"hero-menu\">\n          <img fetchpriority=\"high\" src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-19-scaled.jpg\" alt=\"A real group workshop in progress at ArtRoots Studio\" width=\"900\" height=\"900\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\" \/>\n        <\/div>\n        <div class=\"hero-float\"><strong>Workshops from RM25<\/strong><span>Clear 2026 prices before you book<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section steps-section\" aria-labelledby=\"how-title\">\n    <div class=\"container\">\n      <div class=\"section-head\">\n        <div><span class=\"eyebrow\">Simple booking<\/span><h2 id=\"how-title\">Your creative day in 3 steps<\/h2><\/div>\n        <p class=\"sub\">Use the detail button to compare sizes and prices. When you are ready, choose a workshop and select an available date.<\/p>\n      <\/div>\n      <div class=\"steps\">\n        <article class=\"step\"><span class=\"step-no\">1<\/span><h3>Explore<\/h3><p>Browse the matching 2026 workshop menu below.<\/p><\/article>\n        <article class=\"step\"><span class=\"step-no\">2<\/span><h3>Check the details<\/h3><p>Open the pop-up for exact options, prices and important notes.<\/p><\/article>\n        <article class=\"step\"><span class=\"step-no\">3<\/span><h3>Reserve your date<\/h3><p>Book through the calendar or message us for help.<\/p><\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section\" id=\"workshops\" aria-labelledby=\"workshops-title\">\n    <div class=\"container\">\n      <div class=\"section-head\">\n        <div><span class=\"eyebrow\">2026 workshop menu<\/span><h2 id=\"workshops-title\">Choose your creative experience<\/h2><\/div>\n        <p class=\"sub\">Every starting price below matches the current ArtRoots price list. Tap \"More details\" to see every available option.<\/p>\n      <\/div>\n\n      <div class=\"workshop-grid\">\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-NEW-20-scaled.jpg\" alt=\"A real ArtRoots Batik workshop in progress\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM25<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Guided cultural activity<\/div><h3>Batik Workshop<\/h3><p class=\"card-copy\">Colour, cant and create a Malaysian batik piece with beginner-friendly support.<\/p><div class=\"card-tags\"><span>Guided<\/span><span>Families<\/span><span>Visitors<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"batik\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"batik\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-NEW-26-scaled.jpg\" alt=\"Friends enjoying a real ArtRoots workshop\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM45<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Quick creative fun<\/div><h3>Easy & Chill<\/h3><p class=\"card-copy\">Relax with a cute, light craft that is easy to enjoy with friends or family.<\/p><div class=\"card-tags\"><span>Friends<\/span><span>Quick<\/span><span>Beginner<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"easy\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"easy\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/IMG_2524.jpeg\" alt=\"A finished flower-decorated mirror made at ArtRoots Studio\" style=\"object-position:center 54%;\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM35<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Personalised keepsakes<\/div><h3>Mirror & Badges<\/h3><p class=\"card-copy\">Make a colourful coaster, badge or mirror to bring home after your session.<\/p><div class=\"card-tags\"><span>Kids<\/span><span>Decor<\/span><span>Gift<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"mirror\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"easy\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-69-scaled.jpg\" alt=\"Finished colourful Foam Clay charms at ArtRoots Studio\" style=\"object-position:center 52%;\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM25<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Guided clay craft<\/div><h3>Foam Clay<\/h3><p class=\"card-copy\">Shape a small colourful clay accessory in your own design and colours.<\/p><div class=\"card-tags\"><span>Guided<\/span><span>Kids<\/span><span>Quick<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"foam\">More details<\/button><a class=\"btn primary small\" href=\"https:\/\/wa.me\/601154248179?text=Hi%20ArtRoots%20Studio%2C%20I%20would%20like%20to%20book%20the%20Foam%20Clay%20workshop.\" target=\"_blank\" rel=\"noopener\">WhatsApp<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/IMG_2647.jpeg\" alt=\"Participants holding their finished floral paintings at an ArtRoots workshop\" style=\"object-position:center 50%;\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM45<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Unguided painting<\/div><h3>Free Flow Painting<\/h3><p class=\"card-copy\">Draw anything you love and paint at your own pace on your chosen canvas size.<\/p><div class=\"card-tags\"><span>Relaxing<\/span><span>Canvas<\/span><span>All ages<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"freeflow\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"freeflow\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-52-scaled.jpg\" alt=\"Finished Texture Art canvases at ArtRoots Studio\" style=\"object-position:center 48%;\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM45<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Guided painting<\/div><h3>Texture Art<\/h3><p class=\"card-copy\">Create a tactile floral or aesthetic artwork with guided texture techniques.<\/p><div class=\"card-tags\"><span>Guided<\/span><span>Home decor<\/span><span>Premium<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"texture\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"texture\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-NEW-34-scaled.jpg\" alt=\"A real Mini Pottery workshop in progress at ArtRoots Studio\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">RM65<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Friday-Sunday only<\/div><h3>Mini Pottery<\/h3><p class=\"card-copy\">Shape a 30g mini pottery piece and personalise it with optional add-ons.<\/p><div class=\"card-tags\"><span>Hands-on<\/span><span>Pottery<\/span><span>Beginner<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"minipottery\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"minipottery\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-NEW-40-scaled.jpg\" alt=\"Young makers shaping clay by hand at ArtRoots Studio\" style=\"object-position:center 58%;\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM65<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Hand-building clay<\/div><h3>Clay Play<\/h3><p class=\"card-copy\">Create worry stones, a trinket dish or a wall pocket using hand-building techniques.<\/p><div class=\"card-tags\"><span>Clay<\/span><span>Hands-on<\/span><span>By weight<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"clayplay\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"clayplay\">Book now<\/a><\/div><\/div>\n        <\/article>\n\n        <article class=\"workshop-card\">\n          <div class=\"card-image\"><img src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2026\/08\/Art-Roots-NEW-44-scaled.jpg\" alt=\"Colourful finished pieces displayed during an ArtRoots pottery workshop\" style=\"object-position:center 20%;\" loading=\"lazy\" decoding=\"async\" \/><span class=\"price-badge\">From RM65<\/span><\/div>\n          <div class=\"card-content\"><div class=\"card-kicker\">Paint a pottery keepsake<\/div><h3>Pottery Coloring<\/h3><p class=\"card-copy\">Personalise a plate or tumbler, then collect the finished piece after processing.<\/p><div class=\"card-tags\"><span>Painting<\/span><span>Keepsake<\/span><span>1-2 weeks<\/span><\/div><div class=\"card-actions\"><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"pottery\">More details<\/button><a class=\"btn primary small js-book\" href=\"#book\" data-book=\"pottery\">Book now<\/a><\/div><\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section booking-section\" id=\"book\" aria-labelledby=\"book-title\">\n    <div class=\"container\">\n      <span class=\"eyebrow\" style=\"color:var(--marigold)\">Reserve your spot<\/span>\n      <h2 id=\"book-title\">Choose a workshop and date<\/h2>\n      <p class=\"sub\">Select a workshop below to load its current calendar. Foam Clay and private bookings are handled through WhatsApp so the team can prepare the right materials.<\/p>\n      <div class=\"booking-trust\" aria-label=\"Booking benefits\"><span>Live availability<\/span><span>Materials included<\/span><span>WhatsApp support<\/span><\/div>\n\n      <div class=\"booking-shell\">\n        <aside class=\"booking-choice\" aria-labelledby=\"choose-title\">\n          <h3 id=\"choose-title\">What would you like to make?<\/h3>\n          <div class=\"booking-select-wrap\">\n            <label for=\"booking-select\">Choose your workshop<\/label>\n            <select class=\"booking-select\" id=\"booking-select\">\n              <option value=\"batik\">Batik Workshop<\/option>\n              <option value=\"easy\">Easy &amp; Chill \/ Mirror &amp; Badges<\/option>\n              <option value=\"freeflow\">Free Flow Painting<\/option>\n              <option value=\"texture\">Texture Art<\/option>\n              <option value=\"minipottery\">Mini Pottery<\/option>\n              <option value=\"clayplay\">Clay Play<\/option>\n              <option value=\"pottery\">Pottery Coloring<\/option>\n              <option value=\"notsure\">Not sure yet<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"booking-tabs\" role=\"tablist\" aria-label=\"Choose a workshop calendar\">\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"true\" data-book=\"batik\">Batik Workshop<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"easy\">Easy &amp; Chill \/ Mirror &amp; Badges<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"freeflow\">Free Flow Painting<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"texture\">Texture Art<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"minipottery\">Mini Pottery<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"clayplay\">Clay Play<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"pottery\">Pottery Coloring<\/button>\n            <button class=\"booking-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-book=\"notsure\">Not sure yet<\/button>\n          <\/div>\n          <div class=\"selected-summary\" aria-live=\"polite\"><strong id=\"selected-name\">Batik Workshop - from RM25<\/strong><span id=\"selected-note\">Guided activity. All materials are provided.<\/span><p class=\"group-booking-note\">Need more spaces than the calendar shows? <a href=\"https:\/\/wa.me\/601154248179?text=Hi%20ArtRoots%20Studio%2C%20I%20would%20like%20to%20arrange%20a%20group%20workshop.\" target=\"_blank\" rel=\"noopener\">Ask about a group booking<\/a>.<\/p><\/div>\n        <\/aside>\n\n        <div class=\"calendar-card\">\n          <div class=\"calendar-top\"><div><strong id=\"calendar-title\">Batik Workshop calendar<\/strong><span>Select a date and time below<\/span><\/div><a class=\"btn secondary small\" id=\"open-calendar\" href=\"https:\/\/calendly.com\/artroots_studio\/batik-painting?utm_source=website&utm_medium=booking_page\" target=\"_blank\" rel=\"noopener\">Open separately<\/a><\/div>\n          <iframe id=\"calendar-frame\" title=\"Select a workshop date and time\" src=\"https:\/\/calendly.com\/artroots_studio\/batik-painting?embed_domain=artroots.studio&amp;embed_type=Inline&amp;utm_source=website&amp;utm_medium=booking_page\" loading=\"lazy\"><\/iframe>\n          <div class=\"calendar-fallback\"><span>Calendar not loading or need a custom time?<\/span><a class=\"btn whatsapp small\" href=\"https:\/\/wa.me\/601154248179?text=Hi%20ArtRoots%20Studio%2C%20I%20need%20help%20booking%20a%20workshop.\" target=\"_blank\" rel=\"noopener\">WhatsApp us<\/a><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section info-band\" id=\"more-options\" aria-labelledby=\"more-title\">\n    <div class=\"container\">\n      <div class=\"section-head\"><div><span class=\"eyebrow\">More ways to create<\/span><h2 id=\"more-title\">Events, classes and courses<\/h2><\/div><p class=\"sub\">Planning for a group or looking for regular classes? Open the details to see the matching 2026 packages.<\/p><\/div>\n      <div class=\"info-grid\">\n        <article class=\"info-card\"><span class=\"card-icon\" aria-hidden=\"true\">&#9733;<\/span><h3>Private Events<\/h3><p>Birthday, bachelorette, team-building and private workshop packages for groups.<\/p><div class=\"info-price\">From RM200<\/div><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"events\">View event packages<\/button><\/article>\n        <article class=\"info-card\"><span class=\"card-icon\" aria-hidden=\"true\">&#9998;<\/span><h3>Monthly Classes<\/h3><p>Structured art learning for children, teens and digital art students.<\/p><div class=\"info-price\">From RM250 \/ 4 classes<\/div><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"monthly\">View monthly classes<\/button><\/article>\n        <article class=\"info-card\"><span class=\"card-icon\" aria-hidden=\"true\">&#10047;<\/span><h3>Adult Courses<\/h3><p>Four-class Batik, Pottery and Art Healing \/ Texture courses.<\/p><div class=\"info-price\">From RM250 \/ 4 classes<\/div><button class=\"detail-btn js-detail\" type=\"button\" data-detail=\"adult\">View adult courses<\/button><\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section\">\n    <div class=\"container help-cta\">\n      <div><h2>Not sure which workshop fits?<\/h2><p>Tell us your group size, preferred date and who is joining. We will recommend the best activity and help you book it.<\/p><\/div>\n      <div class=\"help-actions\"><a class=\"btn whatsapp\" href=\"https:\/\/wa.me\/601154248179?text=Hi%20ArtRoots%20Studio%2C%20I%20need%20help%20choosing%20a%20workshop.\" target=\"_blank\" rel=\"noopener\">Ask on WhatsApp<\/a><a class=\"btn secondary\" href=\"https:\/\/artroots.studio\/pricelist\/\">View price list<\/a><\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section\" aria-labelledby=\"faq-title\">\n    <div class=\"container\">\n      <div class=\"section-head\"><div><span class=\"eyebrow\">Before you visit<\/span><h2 id=\"faq-title\">Good to know<\/h2><\/div><\/div>\n      <div class=\"faq-grid\">\n        <article class=\"faq-item\"><h4>Do I need art experience?<\/h4><p>No. The workshops are beginner friendly, with guidance where the menu states guided.<\/p><\/article>\n        <article class=\"faq-item\"><h4>Are materials included?<\/h4><p>Materials are provided for workshops unless an option specifically says otherwise.<\/p><\/article>\n        <article class=\"faq-item\"><h4>When can I collect Pottery Coloring?<\/h4><p>Please allow approximately 1-2 weeks for the finished piece to be ready for collection.<\/p><\/article>\n        <article class=\"faq-item\"><h4>When is the studio open?<\/h4><p>Tuesday-Sunday, 11:00 AM-6:00 PM. The studio is closed on Monday.<\/p><\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/main>\n\n<footer class=\"brand-footer\">\n  <div class=\"container footer-grid\">\n    <div><img loading=\"lazy\" src=\"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png\" alt=\"ArtRoots Studio\" class=\"footer-logo\" width=\"180\" height=\"48\" loading=\"lazy\" decoding=\"async\" \/><p>Creative art workshops for kids, adults, friends, families and groups in Johor Bahru.<\/p><\/div>\n    <div><h4>Quick links<\/h4><nav class=\"footer-links\" aria-label=\"Footer links\"><a href=\"#workshops\">Workshops<\/a><a href=\"#book\">Choose a date<\/a><a href=\"#more-options\">Events &amp; classes<\/a><a href=\"https:\/\/artroots.studio\/pricelist\/\">Full price list<\/a><\/nav><\/div>\n    <div><h4>Visit ArtRoots<\/h4><p>Eco Galleria, Iskandar Puteri, Johor Bahru<br \/>Tuesday-Sunday, 11 AM-6 PM<br \/><strong style=\"color:#fff\">Closed Monday<\/strong><\/p><\/div>\n  <\/div>\n<\/footer>\n\n<div class=\"mobile-book\"><a class=\"btn primary\" href=\"#book\">Choose a workshop & date<\/a><\/div>\n\n<div class=\"modal-backdrop\" id=\"detail-backdrop\" hidden>\n  <section class=\"detail-modal\" id=\"detail-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modal-title\" aria-describedby=\"modal-intro\" tabindex=\"-1\">\n    <div class=\"modal-head\"><div><span class=\"eyebrow\" id=\"modal-eyebrow\">Workshop details<\/span><h2 id=\"modal-title\">Workshop<\/h2><\/div><button class=\"modal-close\" id=\"modal-close\" type=\"button\" aria-label=\"Close details\">&times;<\/button><\/div>\n    <div class=\"modal-body\"><img decoding=\"async\" class=\"modal-preview\" id=\"modal-preview\" src=\"\" alt=\"\" hidden \/><p class=\"modal-intro\" id=\"modal-intro\"><\/p><ul class=\"modal-price-list\" id=\"modal-prices\"><\/ul><p class=\"modal-note\" id=\"modal-note\"><\/p><\/div><div class=\"modal-actions modal-footer\"><a class=\"btn primary\" id=\"modal-book\" href=\"#book\">Book this workshop<\/a><a class=\"btn secondary\" href=\"https:\/\/artroots.studio\/pricelist\/\">View full price list<\/a><\/div>\n  <\/section>\n<\/div>\n\n<script>\n(function () {\n  const detailData = {\n    batik: { eyebrow: \"Guided workshop\", title: \"Batik Workshop\", intro: \"Create a colourful batik artwork with guided support. Choose the activity that suits your time and style.\", prices: [[\"Flower Coloring\", \"RM25\"], [\"Character Coloring\", \"RM35\"], [\"Canting Batik\", \"RM45\"], [\"Batik Tote Bag\", \"RM55\"]], note: \"All materials are provided.\", book: \"batik\" },\n    easy: { eyebrow: \"Easy & Chill\", title: \"Easy & Chill Crafts\", intro: \"A light, relaxed craft session that works well for casual dates, bestie activities and family time.\", prices: [[\"Punch Needle Coaster\", \"RM45\"], [\"Shrink Keychain\", \"RM45\"], [\"Pipe Cleaner\", \"RM45\"]], note: \"All materials are provided.\", book: \"easy\" },\n    mirror: { eyebrow: \"Easy & Chill\", title: \"Mirror & Badges\", intro: \"Make a colourful personalised keepsake to take home after your session.\", prices: [[\"Wood Coaster\", \"RM35\"], [\"Button Badges\", \"RM35\"], [\"Painting Mirror\", \"RM45\"], [\"Clay Mirror\", \"RM45\"]], note: \"All materials are provided.\", book: \"easy\" },\n    foam: { eyebrow: \"Guided clay craft\", title: \"Foam Clay\", intro: \"Choose your own shape and colours to create a small clay accessory.\", prices: [[\"Pin Clay\", \"RM25\"], [\"Hair Pin Clay\", \"RM25\"], [\"Magnet Clay\", \"RM35\"], [\"Keychain Clay\", \"RM35\"], [\"Optional Resin Coating\", \"+RM10\"]], note: \"Please WhatsApp the studio to reserve Foam Clay so the correct materials can be prepared.\", whatsapp: \"Hi ArtRoots Studio, I would like to book the Foam Clay workshop.\" },\n    freeflow: { eyebrow: \"Unguided painting\", title: \"Free Flow Painting\", intro: \"Draw anything you love and paint at your own pace. Pick your preferred canvas size.\", prices: [[\"Mini Flow - 10 x 10 cm square\", \"RM45\"], [\"Standard Flow - 20 x 20 cm round \/ square\", \"RM65\"], [\"Grand Flow - 40 x 40 cm round \/ square\", \"RM100\"], [\"Massive Flow - 50 x 60 cm square\", \"RM150\"]], note: \"All materials are provided.\", book: \"freeflow\" },\n    texture: { eyebrow: \"Guided painting\", title: \"Texture Art\", intro: \"Build a tactile floral or aesthetic artwork with guided texture techniques.\", prices: [[\"Mini Floral - 10 x 10 cm square\", \"RM45\"], [\"Standard Floral - 20 x 20 cm round \/ square \/ love\", \"RM75\"], [\"Grand Floral - 40 x 40 cm round \/ square \/ love\", \"RM120\"], [\"Aesthetic Textures - 50 x 60 cm square\", \"RM150\"]], note: \"All materials are provided.\", book: \"texture\" },\n    minipottery: { eyebrow: \"Friday-Sunday only\", title: \"Mini Pottery\", intro: \"Create a 30g mini pottery piece in any shape, then personalise it with optional add-ons.\", prices: [[\"Mini Pottery - 30g, any shape\", \"RM65\"], [\"Pattern add-on\", \"+RM10\"], [\"Keychain add-on\", \"+RM10\"], [\"Magnet add-on\", \"+RM10\"], [\"Extra 10g clay\", \"+RM10\"]], note: \"Available Friday-Sunday only. All materials are provided.\", book: \"minipottery\" },\n    clayplay: { eyebrow: \"Hand-building clay\", title: \"Clay Play\", intro: \"Explore hand-building techniques and choose a small or larger clay project.\", prices: [[\"Worry Stones - 30g, any shape\", \"RM65\"], [\"Trinket Dish - 200g, any shape\", \"RM150\"], [\"Wall Pocket - 250g, any shape\", \"RM180\"]], note: \"Prices are based on clay weight.\", book: \"clayplay\" },\n    pottery: { eyebrow: \"Pottery painting\", title: \"Pottery Coloring\", intro: \"Personalise a pottery piece with your own colours and design.\", prices: [[\"Coupe Plate - 13 cm\", \"RM65\"], [\"Stacking Plate - 15 cm\", \"RM75\"], [\"Tumbler - 240 ml\", \"RM85\"]], note: \"All materials are provided. Please allow approximately 1-2 weeks for collection.\", book: \"pottery\" },\n    events: { eyebrow: \"Private bookings\", title: \"Private Event Packages\", intro: \"Choose a package for a celebration, small private group or team-building session.\", prices: [[\"Standard Art Package - 1-5 pax\", \"RM200\"], [\"Standard Art Package - 6-10 pax\", \"RM400\"], [\"Standard Art Package - 11-20 pax\", \"RM800\"], [\"Pottery Coloring Package - 1-5 pax\", \"RM450\"], [\"Pottery Coloring Package - 6-10 pax\", \"RM900\"], [\"Pottery Coloring Package - 11-20 pax\", \"RM1,800\"], [\"Birthday \/ Bachelorette - 1-5 pax\", \"RM250\"], [\"Birthday \/ Bachelorette - 6-10 pax\", \"RM450\"], [\"Team Building - 6-10 pax\", \"RM550\"], [\"Team Building - 11-20 pax\", \"RM950\"]], note: \"Activities, duration and inclusions vary by package. WhatsApp the studio with your group size and preferred date.\", whatsapp: \"Hi ArtRoots Studio, I would like to plan a private event. Please share the available packages and dates.\" },\n    monthly: { eyebrow: \"Monthly learning\", title: \"Monthly Classes\", intro: \"Four-class packages for structured creative learning. Packages are valid for two months after registration.\", prices: [[\"Classic Junior Art Class - age 6-12\", \"RM250\"], [\"Digital Junior \/ Adult Art Class\", \"RM300\"], [\"Teen Art Class - age 13-18\", \"RM300\"]], note: \"Digital art students must bring their own iPad. Contact the studio for the current class timetable.\", whatsapp: \"Hi ArtRoots Studio, I would like to join a monthly art class. Please share the timetable.\" },\n    adult: { eyebrow: \"Four-class courses\", title: \"Adult Courses\", intro: \"Relaxed guided courses for adults and older students to build skills over four classes.\", prices: [[\"Batik Course - age 12+\", \"RM250\"], [\"Pottery Course - age 13+\", \"RM350\"], [\"Art Healing \/ Texture Course - age 13+\", \"RM300\"]], note: \"Packages are valid for two months after registration. Contact the studio for the current timetable.\", whatsapp: \"Hi ArtRoots Studio, I would like to join an adult course. Please share the timetable.\" }\n  };\n\n  const bookingData = {\n    batik: { name: \"Batik Workshop - from RM25\", note: \"Guided activity. All materials are provided.\", slug: \"batik-painting\" },\n    easy: { name: \"Easy & Chill \/ Mirror & Badges - from RM35\", note: \"Choose your preferred craft when booking or confirm it with the studio.\", slug: \"easy-chill\" },\n    freeflow: { name: \"Free Flow Painting - from RM45\", note: \"Unguided painting with your choice of canvas size.\", slug: \"acrylic-painting\" },\n    texture: { name: \"Texture Art - from RM45\", note: \"Guided texture painting. All materials are provided.\", slug: \"texture-painting\" },\n    minipottery: { name: \"Mini Pottery - RM65\", note: \"Available Friday-Sunday only.\", slug: \"special-workshop\" },\n    clayplay: { name: \"Clay Play - from RM65\", note: \"Hand-building clay projects priced by weight.\", slug: \"clay-play\" },\n    pottery: { name: \"Pottery Coloring - from RM65\", note: \"Please allow approximately 1-2 weeks for collection.\", slug: \"paint-your-own-ceramic\" },\n    notsure: { name: \"Decide with the studio\", note: \"Reserve a visit and choose with help from the ArtRoots team.\", slug: \"decide_in_studio\" }\n  };\n\n  const backdrop = document.getElementById(\"detail-backdrop\");\n  const modal = document.getElementById(\"detail-modal\");\n  const closeButton = document.getElementById(\"modal-close\");\n  const modalEyebrow = document.getElementById(\"modal-eyebrow\");\n  const modalTitle = document.getElementById(\"modal-title\");\n  const modalIntro = document.getElementById(\"modal-intro\");\n  const modalPrices = document.getElementById(\"modal-prices\");\n  const modalNote = document.getElementById(\"modal-note\");\n  const modalBook = document.getElementById(\"modal-book\");\n  const modalPreview = document.getElementById(\"modal-preview\");\n  const bookingSelect = document.getElementById(\"booking-select\");\n  let lastFocused = null;\n\n  function normaliseBookingKey(key) {\n    const aliases = { mirror: \"easy\", badges: \"easy\", painting: \"freeflow\", clay: \"clayplay\", ceramic: \"pottery\" };\n    return bookingData[key] ? key : aliases[key] || \"\";\n  }\n\n  function updateBookingUrl(key) {\n    if (!window.history || !window.history.replaceState) return;\n    const nextUrl = new URL(window.location.href);\n    nextUrl.searchParams.set(\"workshop\", key);\n    nextUrl.hash = \"book\";\n    window.history.replaceState(null, \"\", nextUrl.toString());\n  }\n\n  function closeModal() {\n    backdrop.hidden = true;\n    document.body.classList.remove(\"modal-open\");\n    if (lastFocused) lastFocused.focus();\n  }\n\n  function openModal(key, trigger) {\n    const item = detailData[key];\n    if (!item) return;\n    lastFocused = trigger;\n    modalEyebrow.textContent = item.eyebrow;\n    modalTitle.textContent = item.title;\n    modalIntro.textContent = item.intro;\n    modalPrices.innerHTML = item.prices.map(function (row) { return \"<li><span>\" + row[0] + \"<\/span><strong>\" + row[1] + \"<\/strong><\/li>\"; }).join(\"\");\n    modalNote.textContent = item.note;\n    const workshopCard = trigger.closest(\".workshop-card\");\n    const cardImage = workshopCard ? workshopCard.querySelector(\".card-image img\") : null;\n    if (cardImage) {\n      modalPreview.src = cardImage.currentSrc || cardImage.src;\n      modalPreview.alt = cardImage.alt;\n      modalPreview.hidden = false;\n    } else {\n      modalPreview.hidden = true;\n      modalPreview.removeAttribute(\"src\");\n      modalPreview.alt = \"\";\n    }\n    if (item.whatsapp) {\n      modalBook.textContent = \"Ask on WhatsApp\";\n      modalBook.href = \"https:\/\/wa.me\/601154248179?text=\" + encodeURIComponent(item.whatsapp);\n      modalBook.target = \"_blank\";\n      modalBook.rel = \"noopener\";\n      modalBook.removeAttribute(\"data-book\");\n    } else {\n      modalBook.textContent = \"Book this workshop\";\n      modalBook.href = \"#book\";\n      modalBook.removeAttribute(\"target\");\n      modalBook.removeAttribute(\"rel\");\n      modalBook.setAttribute(\"data-book\", item.book);\n    }\n    backdrop.hidden = false;\n    document.body.classList.add(\"modal-open\");\n    modal.focus();\n  }\n\n  function selectBooking(key, shouldScroll, shouldUpdateUrl) {\n    key = normaliseBookingKey(key);\n    const item = bookingData[key];\n    if (!item) return;\n    document.querySelectorAll(\".booking-tab\").forEach(function (tab) { tab.setAttribute(\"aria-selected\", tab.dataset.book === key ? \"true\" : \"false\"); });\n    bookingSelect.value = key;\n    document.getElementById(\"selected-name\").textContent = item.name;\n    document.getElementById(\"selected-note\").textContent = item.note;\n    document.getElementById(\"calendar-title\").textContent = item.name.split(\" - \")[0] + \" calendar\";\n    const base = \"https:\/\/calendly.com\/artroots_studio\/\" + item.slug;\n    document.getElementById(\"open-calendar\").href = base + \"?utm_source=website&utm_medium=booking_page\";\n    const frame = document.getElementById(\"calendar-frame\");\n    const nextSrc = base + \"?embed_domain=artroots.studio&embed_type=Inline&utm_source=website&utm_medium=booking_page\";\n    if (frame.getAttribute(\"src\") !== nextSrc) frame.setAttribute(\"src\", nextSrc);\n    if (shouldUpdateUrl) updateBookingUrl(key);\n    if (shouldScroll) document.getElementById(\"book\").scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n  }\n\n  document.querySelectorAll(\".js-detail\").forEach(function (button) { button.addEventListener(\"click\", function () { openModal(button.dataset.detail, button); }); });\n  document.querySelectorAll(\".js-book\").forEach(function (link) { link.addEventListener(\"click\", function (event) { event.preventDefault(); selectBooking(link.dataset.book, true, true); }); });\n  document.querySelectorAll(\".booking-tab\").forEach(function (tab) { tab.addEventListener(\"click\", function () { selectBooking(tab.dataset.book, false, true); }); });\n  bookingSelect.addEventListener(\"change\", function () { selectBooking(bookingSelect.value, false, true); });\n\n  modalBook.addEventListener(\"click\", function (event) {\n    const key = modalBook.getAttribute(\"data-book\");\n    if (!key) return;\n    event.preventDefault();\n    closeModal();\n    selectBooking(key, true, true);\n  });\n  const requestedWorkshop = normaliseBookingKey(new URLSearchParams(window.location.search).get(\"workshop\") || \"\");\n  if (requestedWorkshop) selectBooking(requestedWorkshop, false, false);\n  closeButton.addEventListener(\"click\", closeModal);\n  backdrop.addEventListener(\"click\", function (event) { if (event.target === backdrop) closeModal(); });\n  document.addEventListener(\"keydown\", function (event) {\n    if (backdrop.hidden) return;\n    if (event.key === \"Escape\") closeModal();\n    if (event.key === \"Tab\") {\n      const focusable = modal.querySelectorAll(\"a[href], button:not([disabled])\");\n      if (!focusable.length) return;\n      const first = focusable[0];\n      const last = focusable[focusable.length - 1];\n      if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); }\n      if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first.focus(); }\n    }\n  });\n})();\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Book an Art Workshop in Johor Bahru | ArtRoots Studio Workshops Choose a date Events &amp; classes Price list Book your slot ARTROOTS STUDIO &#8211; BOOK YOUR WORKSHOP Pick your workshop. Choose your date. Start creating. Explore the updated 2026 workshop choices, compare the exact prices and reserve a creative session at ArtRoots Studio, Eco [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-282","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Book an Art Workshop in Johor Bahru | ArtRoots Studio<\/title>\n<meta name=\"description\" content=\"Book your art workshop slot at ArtRoots Studio, Eco Galleria, JB. Select your preferred date and activity \u2014 Batik, clay, painting, and texture art sessions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/artroots.studio\/ko\/book-now\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Book an Art Workshop in Johor Bahru | ArtRoots Studio\" \/>\n<meta property=\"og:description\" content=\"Book your art workshop slot at ArtRoots Studio, Eco Galleria, JB. Select your preferred date and activity \u2014 Batik, clay, painting, and texture art sessions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/artroots.studio\/ko\/book-now\/\" \/>\n<meta property=\"og:site_name\" content=\"Artroots studio\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-16T11:42:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png\" \/>\n<meta name=\"twitter:label1\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data1\" content=\"22\ubd84\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Book an Art Workshop in Johor Bahru | ArtRoots Studio","description":"Book your art workshop slot at ArtRoots Studio, Eco Galleria, JB. Select your preferred date and activity \u2014 Batik, clay, painting, and texture art sessions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/artroots.studio\/ko\/book-now\/","og_locale":"ko_KR","og_type":"article","og_title":"Book an Art Workshop in Johor Bahru | ArtRoots Studio","og_description":"Book your art workshop slot at ArtRoots Studio, Eco Galleria, JB. Select your preferred date and activity \u2014 Batik, clay, painting, and texture art sessions.","og_url":"https:\/\/artroots.studio\/ko\/book-now\/","og_site_name":"Artroots studio","article_modified_time":"2026-08-16T11:42:29+00:00","og_image":[{"url":"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png","twitter_misc":{"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"22\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/artroots.studio\/book-now\/","url":"https:\/\/artroots.studio\/book-now\/","name":"Book an Art Workshop in Johor Bahru | ArtRoots Studio","isPartOf":{"@id":"https:\/\/artroots.studio\/#website"},"primaryImageOfPage":{"@id":"https:\/\/artroots.studio\/book-now\/#primaryimage"},"image":{"@id":"https:\/\/artroots.studio\/book-now\/#primaryimage"},"thumbnailUrl":"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png","datePublished":"2025-08-04T08:11:15+00:00","dateModified":"2026-08-16T11:42:29+00:00","description":"Book your art workshop slot at ArtRoots Studio, Eco Galleria, JB. Select your preferred date and activity \u2014 Batik, clay, painting, and texture art sessions.","breadcrumb":{"@id":"https:\/\/artroots.studio\/book-now\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/artroots.studio\/book-now\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/artroots.studio\/book-now\/#primaryimage","url":"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png","contentUrl":"https:\/\/artroots.studio\/wp-content\/uploads\/2025\/08\/Artroots-studio.png"},{"@type":"BreadcrumbList","@id":"https:\/\/artroots.studio\/book-now\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/artroots.studio\/"},{"@type":"ListItem","position":2,"name":"Book a Workshop \u2014 Artroots Studio"}]},{"@type":"WebSite","@id":"https:\/\/artroots.studio\/#website","url":"https:\/\/artroots.studio\/","name":"Artroots studio","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/artroots.studio\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"}]}},"_links":{"self":[{"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/pages\/282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/comments?post=282"}],"version-history":[{"count":127,"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/pages\/282\/revisions"}],"predecessor-version":[{"id":1164,"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/pages\/282\/revisions\/1164"}],"wp:attachment":[{"href":"https:\/\/artroots.studio\/ko\/wp-json\/wp\/v2\/media?parent=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}