.elementor-7536 .elementor-element.elementor-element-bd0ed74{--display:flex;}.elementor-7536 .elementor-element.elementor-element-bf05fd0{--display:flex;--flex-wrap:wrap;--border-radius:7px 7px 7px 7px;box-shadow:0px 0px 3px 0px rgba(0,0,0,0.5);}.elementor-7536 .elementor-element.elementor-element-bf05fd0:not(.elementor-motion-effects-element-type-background), .elementor-7536 .elementor-element.elementor-element-bf05fd0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-7536 .elementor-element.elementor-element-827c76a{font-family:"Inter", Sans-serif;font-weight:500;font-style:italic;color:var( --e-global-color-c0e1150 );}.elementor-7536 .elementor-element.elementor-element-827c76a a{color:var( --e-global-color-primary );}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-7536 .elementor-element.elementor-element-f1769e7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7536 .elementor-element.elementor-element-615603a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(4px/2);}.elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(4px/2);}.elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(4px/2);margin-left:calc(4px/2);}.elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-4px/2);margin-left:calc(-4px/2);}body.rtl .elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-4px/2);}body:not(.rtl) .elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-4px/2);}.elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-text, .elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-text a{color:#000000;}.elementor-7536 .elementor-element.elementor-element-29c86dd .elementor-icon-list-item{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;}.elementor-7536 .elementor-element.elementor-element-44f90fa{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-primary );--border-color:var( --e-global-color-primary );--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:05px;--padding-bottom:5px;--padding-left:0px;--padding-right:0px;}.elementor-7536 .elementor-element.elementor-element-44f90fa:not(.elementor-motion-effects-element-type-background), .elementor-7536 .elementor-element.elementor-element-44f90fa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(190deg, #EFFBE6 0%, var( --e-global-color-37d7210 ) 100%);}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-7536 .elementor-element.elementor-element-bd1c178 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:600;line-height:32px;color:#2E7D32;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-7536 .elementor-element.elementor-element-218101b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7536 .elementor-element.elementor-element-218101b .elementor-icon-wrapper{text-align:center;}.elementor-7536 .elementor-element.elementor-element-218101b .elementor-icon{font-size:20px;}.elementor-7536 .elementor-element.elementor-element-218101b .elementor-icon svg{height:20px;}.elementor-7536 .elementor-element.elementor-element-329df55{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7536 .elementor-element.elementor-element-329df55 .elementor-icon-wrapper{text-align:center;}.elementor-7536 .elementor-element.elementor-element-329df55 .elementor-icon{font-size:20px;}.elementor-7536 .elementor-element.elementor-element-329df55 .elementor-icon svg{height:20px;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-7536 .elementor-element.elementor-element-ae17c23{color:var( --e-global-color-c0e1150 );}.elementor-7536 .elementor-element.elementor-element-45d0fee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7536 .elementor-element.elementor-element-ef88359{--display:flex;--border-radius:5px 5px 5px 5px;box-shadow:0px 0px 3px 0px rgba(0,0,0,0.5);}.elementor-7536 .elementor-element.elementor-element-ef88359:not(.elementor-motion-effects-element-type-background), .elementor-7536 .elementor-element.elementor-element-ef88359 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-ucaddon_uc_icon_accordion .ue_title{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ucaddon_uc_icon_accordion .uc_content{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-7536 .elementor-element.elementor-element-b06cf3a .uc-heading{background-color:var( --e-global-color-primary );flex-direction:row;padding:3px 5px 3px 5px;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .uc_ac_box{margin-bottom:10px;background-color:var( --e-global-color-secondary );border-radius:5px 5px 5px 5px;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .ue_title{color:var( --e-global-color-37d7210 );}.elementor-7536 .elementor-element.elementor-element-b06cf3a .uc_content{background-color:var( --e-global-color-secondary );color:#000000;padding:20px 20px 20px 20px;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .ue_icon{width:0px;height:0px;font-size:14px;border-radius:50px 50px 50px 50px;background-color:#747474;color:#ffffff;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .ue_icon_spacing{width:15px;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .ue_icon svg{fill:#ffffff;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .ue_expand_inside{width:14px;height:14px;font-size:14px;border-radius:0px 0px 0px 0px;}.elementor-7536 .elementor-element.elementor-element-b06cf3a .ue_expand_spacing{width:15px;}@media(min-width:768px){.elementor-7536 .elementor-element.elementor-element-615603a{--width:60%;}.elementor-7536 .elementor-element.elementor-element-44f90fa{--width:40%;}}/* Start custom CSS for container, class: .elementor-element-bd0ed74 *//* ===================================================================== */
/* ==   GIẢI PHÁP CSS HOÀN CHỈNH (V8+) – FIX DỨT ĐIỂM LỖI INPUT BOX    == */
/* ==   + ĐỒNG BỘ MÀU THƯƠNG HIỆU & 2 NÚT VALIDATOR                   == */
/* ===================================================================== */

:root {
    --brand-green: #28a745;
    --brand-green-hover: #218838;
    --text-dark: #212529;
    --border-color: #dee2e6;
    --background-container: #ffffff;
    --background-input: #f8f9fa; /* Nền xám nhạt MẶC ĐỊNH cho input */
    --code-bg: #f8f9fa;
    --code-text: #212529;
    --box-shadow: 0 5px 25px rgba(0, 0, 0, 0.07);
}

/* --- MAIN CONTAINER & LAYOUT --- */
.schema-tool-container { background-color: var(--background-container); padding: 30px; border-radius: 12px; box-shadow: var(--box-shadow); border: 1px solid #f0f0f0; }
.schema-generator-layout { display: grid; gap: 45px; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .schema-generator-layout { grid-template-columns: 2fr 1fr; align-items: flex-start; } }

/* --- RIGHT COLUMN: Script Output --- */
.output-column { position: -webkit-sticky; position: sticky; top: 40px; height: fit-content; overflow: hidden; }
.output-column h3 { font-size: 24px; font-weight: 700; color: var(--text-dark); margin-top: 0; margin-bottom: 15px; }
.output-column pre { background-color: var(--code-bg); padding: 20px; border-radius: 12px; border: 1px solid #dee2e6; font-family: 'SF Mono', 'Courier New', monospace; font-size: 14px; min-height: 250px; max-height: 55vh; overflow: auto !important; white-space: normal !important; }
.output-column pre code { white-space: pre !important; }
.output-column pre code, .output-column pre code * { background: none !important; color: var(--code-text) !important; text-shadow: none !important; }
.copy-button { display: block; width: 100%; padding: 15px; background-color: var(--brand-green); color: #fff; border: none; border-radius: 8px; cursor: pointer; text-align: center; margin-top: 20px; font-size: 16px; font-weight: bold; transition: background-color 0.2s, transform 0.2s; }
.copy-button:hover { background-color: var(--brand-green-hover); transform: translateY(-2px); }

/* --- LEFT COLUMN: FORM --- */
.schema-generator-form { display: grid; grid-template-columns: 1fr; gap: 25px; }
.form-grid-2-col { display: grid; grid-template-columns: 1fr; gap: 25px; }
@media (min-width: 768px) { .form-grid-2-col { grid-template-columns: 1fr 1fr; } }
.schema-generator-form .full-width { grid-column: 1 / -1; }
.schema-generator-form label { display: block; margin-bottom: 8px; font-weight: 600; color: var(--text-dark); font-size: 14px; }

/* === [FIX] STYLE GỐC CHO TẤT CẢ INPUT (Nền xám, focus xanh lá) === */
.schema-generator-form input[type="text"],
.schema-generator-form input[type="url"],
.schema-generator-form input[type="tel"],
.schema-generator-form input[type="email"],
.schema-generator-form input[type="date"],
.schema-generator-form input[type="time"],
.schema-generator-form input[type="number"],
.schema-generator-form select,
.schema-generator-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 15px;
    background-color: var(--background-input);
    transition: all 0.2s;
}
.schema-generator-form input:focus,
.schema-generator-form select:focus,
.schema-generator-form textarea:focus {
    outline: none;
    border-color: var(--brand-green);
    box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.15);
    background-color: #fff;
}

/* --- HEADINGS --- */
.schema-generator-form h3, .section-header { grid-column: 1 / -1; padding-bottom: 10px; margin: 0; border-bottom: 2px solid #e9ecef; color: var(--text-dark); font-size: 24px; font-weight: 700; }
.section-header { display: flex; justify-content: space-between; align-items: center; }
.section-header h3 { border: none; padding: 0; margin: 0; }

/* --- NÚT BẤM GIAO DIỆN MỚI --- */
.add-button, .clear-button { padding: 8px 15px; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 14px; transition: all 0.2s; border: none; display: inline-flex; align-items: center; gap: 6px; }
.add-button { background-color: var(--brand-green); color: #fff; }
.add-button:hover { background-color: var(--brand-green-hover); transform: translateY(-1px); }
.add-button::before { content: '+'; font-size: 1.2em; line-height: 1; }
.clear-button { background-color: var(--brand-green); color: #fff; }
.clear-button:hover { background-color: var(--brand-green-hover); }
.clear-button::before { content: '×'; font-size: 1.4em; line-height: 1; }

/* --- DYNAMIC SECTIONS GIAO DIỆN MỚI --- */
.dynamic-item-group { grid-column: 1 / -1; border: 1px solid #e0e7ff; padding: 25px 25px 20px 25px; border-radius: 10px; background-color: #f7faff; position: relative; display: grid; grid-template-columns: 1fr; gap: 20px; width: 100%; }
.dynamic-item-group .full-width, .dynamic-item-group .form-grid-2-col { width: 100%; padding: 0; margin: 0; }
.dynamic-item-group h4 { grid-column: 1 / -1; margin: 0 0 10px 0; padding-bottom: 10px; border-bottom: 1px solid #e9ecef; color: var(--text-dark); font-size: 16px; font-weight: 700; }
.remove-button { position: absolute; top: 15px; right: 15px; background: transparent; color: #dc3545; border: none; cursor: pointer; font-size: 20px; line-height: 1; padding: 0; transition: opacity 0.2s; opacity: 0.7; }
.remove-button:hover { color: #dc3545; opacity: 1; }

/* === [FIX] GHI ĐÈ STYLE CHỈ CHO INPUT BÊN TRONG BOX ĐỘNG (Nền trắng, focus xanh lá) === */
.dynamic-item-group input,
.dynamic-item-group select,
.dynamic-item-group textarea {
    background-color: #fff !important;
    border-color: #ced4da;
}
.dynamic-item-group input:focus,
.dynamic-item-group select:focus,
.dynamic-item-group textarea:focus {
    border-color: var(--brand-green) !important;
    box-shadow: 0 0 0 4px rgba(40, 167, 69, 0.15) !important;
}

/* --- CHECKBOX & MISC --- */
.checkbox-group { display: flex; flex-wrap: wrap; gap: 10px 15px; }
.checkbox-group label { font-weight: normal; display: inline-block; }
.full-width { grid-column: 1 / -1; }

/* --- VALIDATOR BUTTONS (mới thêm) --- */
.validator-actions { margin-top: 12px; display: grid; gap: 10px; }
.open-validator,
.download-test {
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  border: none;
  transition: background-color .15s ease, transform .15s ease;
  background: var(--brand-green);
  color: #fff;
}
.open-validator:hover,
.download-test:hover {
  background: var(--brand-green-hover);
  transform: translateY(-1px);
}
.hint { color: #6b7280; text-align: center; font-size: 13px; margin-top: 5px; }/* End custom CSS */