/* ==========================================================================
   CKEDITOR CONTENT & TYPOGRAPHY MASTER STYLESHEET
   Shared between Live Frontend Pages & CKEditor 4 WYSIWYG Editor
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
    --primary: #6366f1;
    --primary-hover: #4f46e5;
    --secondary: #a855f7;
    --text-main: #0f172a;
    --text-muted: #64748b;
    --bg-card: #ffffff;
    --bg-alternate: #f8fafc;
    --border-glass: #e2e8f0;
    --font: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Dark Theme Overrides for Frontend (Does NOT affect CKEditor admin editing iframe) */
body:not(.light-theme):not(.cke_editable) {
    --text-main: #f3f4f6;
    --text-muted: #9ca3af;
    --bg-card: #151c2c;
    --bg-alternate: rgba(21, 28, 44, 0.4);
    --border-glass: rgba(255, 255, 255, 0.08);
}

/* Base Content Container */
body.cke_editable,
.ck-content,
.detail-description,
.blog-content-body,
.auto-page-body,
.about-content,
.service-desc,
.wysiwyg-content {
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.85;
    color: var(--text-main);
    word-wrap: break-word;
    box-sizing: border-box;
}

/* CKEditor Editing Area (Inside Admin iframe - Always crisp dark text on clean white canvas) */
body.cke_editable {
    --text-main: #0f172a !important;
    --text-muted: #64748b !important;
    --bg-card: #ffffff !important;
    --bg-alternate: #f8fafc !important;
    --border-glass: #e2e8f0 !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    padding: 20px 25px !important;
}

body.cke_editable,
body.cke_editable p,
body.cke_editable strong,
body.cke_editable b,
body.cke_editable em,
body.cke_editable i,
body.cke_editable u,
body.cke_editable li,
body.cke_editable h1,
body.cke_editable h2,
body.cke_editable h3,
body.cke_editable h4,
body.cke_editable h5,
body.cke_editable h6,
body.cke_editable td,
body.cke_editable th,
body.cke_editable blockquote {
    color: #0f172a;
}

/* Clearfix for Floated Elements */
.ck-content::after,
.detail-description::after,
.blog-content-body::after,
.auto-page-body::after,
.about-content::after {
    content: "";
    display: table;
    clear: both;
}

/* ==========================================================================
   HEADINGS (h1 - h6)
   ========================================================================== */
.ck-content h1, .detail-description h1, .blog-content-body h1, .auto-page-body h1, .about-content h1, body.cke_editable h1 {
    font-size: 32px;
    font-weight: 700;
    margin: 36px 0 18px 0;
    line-height: 1.3;
    color: var(--text-main);
}

.ck-content h2, .detail-description h2, .blog-content-body h2, .auto-page-body h2, .about-content h2, body.cke_editable h2 {
    font-size: 26px;
    font-weight: 700;
    margin: 32px 0 16px 0;
    line-height: 1.35;
    color: var(--text-main);
}

.ck-content h3, .detail-description h3, .blog-content-body h3, .auto-page-body h3, .about-content h3, body.cke_editable h3 {
    font-size: 21px;
    font-weight: 600;
    margin: 26px 0 14px 0;
    line-height: 1.4;
    color: var(--text-main);
}

.ck-content h4, .detail-description h4, .blog-content-body h4, .auto-page-body h4, .about-content h4, body.cke_editable h4 {
    font-size: 18px;
    font-weight: 600;
    margin: 20px 0 12px 0;
    line-height: 1.45;
    color: var(--text-main);
}

.ck-content h5, .detail-description h5, .blog-content-body h5, .auto-page-body h5, .about-content h5, body.cke_editable h5 {
    font-size: 16px;
    font-weight: 600;
    margin: 18px 0 10px 0;
    line-height: 1.5;
    color: var(--text-main);
}

.ck-content h6, .detail-description h6, .blog-content-body h6, .auto-page-body h6, .about-content h6, body.cke_editable h6 {
    font-size: 14px;
    font-weight: 600;
    margin: 16px 0 8px 0;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
}

.ck-content > *:first-child,
.detail-description > *:first-child,
.blog-content-body > *:first-child,
.auto-page-body > *:first-child,
.about-content > *:first-child {
    margin-top: 0 !important;
}

/* ==========================================================================
   PARAGRAPHS & INLINE FORMATTING
   ========================================================================== */
.ck-content p, .detail-description p, .blog-content-body p, .auto-page-body p, .about-content p, body.cke_editable p {
    margin-bottom: 18px;
    line-height: 1.85;
    color: var(--text-main);
}

.ck-content strong, .detail-description strong, .blog-content-body strong, .auto-page-body strong, .about-content strong,
.ck-content b, .detail-description b, .blog-content-body b, .auto-page-body b, .about-content b,
body.cke_editable strong, body.cke_editable b {
    font-weight: 700;
    color: var(--text-main);
}

.ck-content em, .detail-description em, .blog-content-body em, body.cke_editable em,
.ck-content i, .detail-description i, .blog-content-body i, body.cke_editable i {
    font-style: italic;
}

.ck-content u, .detail-description u, .blog-content-body u, body.cke_editable u {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ck-content s, .detail-description s, .blog-content-body s, body.cke_editable s,
.ck-content strike, .detail-description strike, .blog-content-body strike, body.cke_editable strike,
.ck-content del, .detail-description del, .blog-content-body del, body.cke_editable del {
    text-decoration: line-through;
    opacity: 0.75;
}

.ck-content sub, .detail-description sub, .blog-content-body sub, body.cke_editable sub {
    vertical-align: sub;
    font-size: 75%;
    line-height: 0;
}

.ck-content sup, .detail-description sup, .blog-content-body sup, body.cke_editable sup {
    vertical-align: super;
    font-size: 75%;
    line-height: 0;
}

.ck-content small, .detail-description small, .blog-content-body small, body.cke_editable small {
    font-size: 85%;
    color: var(--text-muted);
}

.ck-content mark, .detail-description mark, .blog-content-body mark, body.cke_editable mark {
    background: rgba(250, 204, 21, 0.35);
    color: inherit;
    padding: 2px 6px;
    border-radius: 4px;
}

/* ==========================================================================
   LISTS (ul, ol, li, nested, dl, dt, dd)
   ========================================================================== */
.ck-content ul, .detail-description ul, .blog-content-body ul, .auto-page-body ul, .about-content ul, .service-desc ul, .wysiwyg-content ul, body.cke_editable ul {
    list-style-type: disc;
    list-style-position: outside;
    margin: 16px 0 20px 0;
    padding-left: 36px;
}

.ck-content ol, .detail-description ol, .blog-content-body ol, .auto-page-body ol, .about-content ol, .service-desc ol, .wysiwyg-content ol, body.cke_editable ol {
    list-style-type: decimal;
    list-style-position: outside;
    margin: 16px 0 20px 0;
    padding-left: 36px;
}

.ck-content li, .detail-description li, .blog-content-body li, .auto-page-body li, .about-content li, .service-desc li, .wysiwyg-content li, body.cke_editable li {
    display: list-item;
    margin-bottom: 8px;
    line-height: 1.75;
    color: inherit;
}

.ck-content li:last-child, .detail-description li:last-child, .blog-content-body li:last-child, .auto-page-body li:last-child, .about-content li:last-child, body.cke_editable li:last-child {
    margin-bottom: 0;
}

.ck-content li::marker, .detail-description li::marker, .blog-content-body li::marker, .auto-page-body li::marker, .about-content li::marker, body.cke_editable li::marker {
    color: var(--primary);
    font-weight: 600;
}

.ck-content li > p, .detail-description li > p, .blog-content-body li > p, .auto-page-body li > p, .about-content li > p, body.cke_editable li > p {
    margin-bottom: 4px;
    display: inline;
}

/* Nested Lists */
.ck-content ul ul, .detail-description ul ul, .blog-content-body ul ul, .auto-page-body ul ul, .about-content ul ul,
.ck-content ol ul, .detail-description ol ul, .blog-content-body ol ul, .auto-page-body ol ul, .about-content ol ul,
body.cke_editable ul ul, body.cke_editable ol ul {
    list-style-type: circle;
    margin: 6px 0 8px 0;
    padding-left: 28px;
}

.ck-content ul ul ul, .detail-description ul ul ul, .blog-content-body ul ul ul, .auto-page-body ul ul ul, .about-content ul ul ul,
.ck-content ol ul ul, .detail-description ol ul ul, .blog-content-body ol ul ul, .auto-page-body ol ul ul, .about-content ol ul ul,
.ck-content ol ol ul, .detail-description ol ol ul, .blog-content-body ol ol ul, .auto-page-body ol ol ul, .about-content ol ol ul,
body.cke_editable ul ul ul, body.cke_editable ol ul ul, body.cke_editable ol ol ul {
    list-style-type: square;
    margin: 6px 0 8px 0;
    padding-left: 28px;
}

.ck-content ol ol, .detail-description ol ol, .blog-content-body ol ol, .auto-page-body ol ol, .about-content ol ol,
.ck-content ul ol, .detail-description ul ol, .blog-content-body ul ol, .auto-page-body ul ol, .about-content ol ol,
body.cke_editable ol ol, body.cke_editable ul ol {
    list-style-type: lower-alpha;
    margin: 6px 0 8px 0;
    padding-left: 28px;
}

.ck-content ol ol ol, .detail-description ol ol ol, .blog-content-body ol ol ol, .auto-page-body ol ol ol, .about-content ol ol ol,
.ck-content ul ol ol, .detail-description ul ol ol, .blog-content-body ul ol ol, .auto-page-body ul ol ol, .about-content ol ol ol,
.ck-content ul ul ol, .detail-description ul ul ol, .blog-content-body ul ul ol, .auto-page-body ul ul ol, .about-content ul ol ol,
body.cke_editable ol ol ol, body.cke_editable ul ol ol, body.cke_editable ul ul ol {
    list-style-type: lower-roman;
    margin: 6px 0 8px 0;
    padding-left: 28px;
}

/* Definition Lists (dl, dt, dd) */
.ck-content dl, .detail-description dl, .blog-content-body dl, body.cke_editable dl {
    margin: 16px 0 20px 0;
}
.ck-content dt, .detail-description dt, .blog-content-body dt, body.cke_editable dt {
    font-weight: 700;
    color: var(--text-main);
    margin-top: 12px;
}
.ck-content dd, .detail-description dd, .blog-content-body dd, body.cke_editable dd {
    margin-left: 24px;
    margin-bottom: 8px;
    color: var(--text-muted);
}

/* ==========================================================================
   BLOCKQUOTES & CITATIONS
   ========================================================================== */
.ck-content blockquote, .detail-description blockquote, .blog-content-body blockquote, .auto-page-body blockquote, body.cke_editable blockquote {
    border-left: 4px solid var(--primary);
    background: rgba(99, 102, 241, 0.06);
    padding: 18px 24px;
    margin: 26px 0;
    border-radius: 0 10px 10px 0;
    font-style: italic;
    color: var(--text-main);
    position: relative;
}

.ck-content blockquote p, .detail-description blockquote p, .blog-content-body blockquote p, body.cke_editable blockquote p {
    margin-bottom: 8px;
}

.ck-content blockquote p:last-child, .detail-description blockquote p:last-child, .blog-content-body blockquote p:last-child, body.cke_editable blockquote p:last-child {
    margin-bottom: 0;
}

.ck-content blockquote cite, .detail-description blockquote cite, .blog-content-body blockquote cite, body.cke_editable blockquote cite {
    display: block;
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-muted);
    margin-top: 10px;
}

.ck-content q, .detail-description q, .blog-content-body q, body.cke_editable q {
    quotes: "“" "”" "‘" "’";
    font-style: italic;
}

/* ==========================================================================
   TABLES (Full Responsive & Theme Compatible)
   ========================================================================== */
.ck-content table, .detail-description table, .blog-content-body table, .auto-page-body table, body.cke_editable table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
    background: var(--bg-card);
    border: 1px solid var(--border-glass);
    border-radius: 8px;
    overflow: hidden;
}

.ck-content table th, .detail-description table th, .blog-content-body table th, .auto-page-body table th, body.cke_editable table th {
    background: var(--bg-alternate);
    padding: 14px 16px;
    font-weight: 600;
    border: 1px solid var(--border-glass);
    text-align: left;
    color: var(--text-main);
}

.ck-content table td, .detail-description table td, .blog-content-body table td, .auto-page-body table td, body.cke_editable table td {
    padding: 12px 16px;
    border: 1px solid var(--border-glass);
    color: var(--text-main);
    vertical-align: top;
}

.ck-content table tr:nth-child(even), .detail-description table tr:nth-child(even), .blog-content-body table tr:nth-child(even), .auto-page-body table tr:nth-child(even), body.cke_editable table tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.03);
}

.ck-content table caption, .detail-description table caption, .blog-content-body table caption, body.cke_editable table caption {
    padding: 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-muted);
    text-align: left;
    caption-side: top;
}

/* Table Alignment Attributes */
td[align="center"], th[align="center"] { text-align: center; }
td[align="right"], th[align="right"] { text-align: right; }
td[align="left"], th[align="left"] { text-align: left; }
td[valign="top"], th[valign="top"] { vertical-align: top; }
td[valign="middle"], th[valign="middle"] { vertical-align: middle; }
td[valign="bottom"], th[valign="bottom"] { vertical-align: bottom; }

/* ==========================================================================
   CODE & PREFORMATTED TEXT
   ========================================================================== */
.ck-content code, .detail-description code, .blog-content-body code, body.cke_editable code {
    background: rgba(99, 102, 241, 0.12);
    color: var(--primary);
    padding: 2px 7px;
    border-radius: 4px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
    font-size: 0.88em;
}

.ck-content pre, .detail-description pre, .blog-content-body pre, body.cke_editable pre {
    background: #0f172a;
    color: #e2e8f0;
    border: 1px solid var(--border-glass);
    padding: 20px;
    border-radius: 10px;
    overflow-x: auto;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
    font-size: 14px;
    line-height: 1.65;
    margin: 22px 0;
}

.ck-content pre code, .detail-description pre code, .blog-content-body pre code, body.cke_editable pre code {
    background: transparent;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

.ck-content kbd, .detail-description kbd, .blog-content-body kbd, body.cke_editable kbd {
    background: var(--bg-card);
    border: 1px solid var(--border-glass);
    border-bottom-width: 2px;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.85em;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* ==========================================================================
   HORIZONTAL DIVIDER (hr)
   ========================================================================== */
.ck-content hr, .detail-description hr, .blog-content-body hr, .auto-page-body hr, body.cke_editable hr {
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-glass), transparent);
    margin: 35px 0;
}

/* ==========================================================================
   IMAGES, FIGURES & MEDIA EMBEDS
   ========================================================================== */
.ck-content img, .detail-description img, .blog-content-body img, .auto-page-body img, body.cke_editable img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 16px 0;
    display: inline-block;
}

/* Floating Images (CKEditor Align Left / Right) */
.ck-content img.left, .detail-description img.left, .blog-content-body img.left,
.ck-content img[style*="float: left"], .detail-description img[style*="float: left"], .blog-content-body img[style*="float: left"],
.ck-content img[style*="float:left"], .detail-description img[style*="float:left"], .blog-content-body img[style*="float:left"],
body.cke_editable img.left, body.cke_editable img[style*="float: left"] {
    float: left;
    margin: 8px 25px 20px 0;
    max-width: 50%;
}

.ck-content img.right, .detail-description img.right, .blog-content-body img.right,
.ck-content img[style*="float: right"], .detail-description img[style*="float: right"], .blog-content-body img[style*="float: right"],
.ck-content img[style*="float:right"], .detail-description img[style*="float:right"], .blog-content-body img[style*="float:right"],
body.cke_editable img.right, body.cke_editable img[style*="float: right"] {
    float: right;
    margin: 8px 0 20px 25px;
    max-width: 50%;
}

/* Figures & Captions */
.ck-content figure, .detail-description figure, .blog-content-body figure, body.cke_editable figure {
    display: table;
    margin: 22px auto;
    clear: both;
    text-align: center;
}

.ck-content figure.image-style-side, .ck-content figure.image.right,
body.cke_editable figure.image-style-side, body.cke_editable figure.image.right {
    float: right;
    margin: 8px 0 20px 25px;
    max-width: 50%;
}

.ck-content figure.image.left,
body.cke_editable figure.image.left {
    float: left;
    margin: 8px 25px 20px 0;
    max-width: 50%;
}

.ck-content figcaption, .detail-description figcaption, .blog-content-body figcaption, body.cke_editable figcaption {
    font-size: 13px;
    color: var(--text-muted);
    text-align: center;
    margin-top: 8px;
    font-style: italic;
}

/* iFrames / Video Embeds */
.ck-content iframe, .detail-description iframe, .blog-content-body iframe, .auto-page-body iframe, body.cke_editable iframe {
    max-width: 100%;
    border: 0;
    border-radius: 10px;
    margin: 20px 0;
}

/* ==========================================================================
   LINKS & INTERACTIVE
   ========================================================================== */
.ck-content a:not(.btn), .detail-description a:not(.btn), .blog-content-body a:not(.btn), .auto-page-body a:not(.btn), .about-content a:not(.btn), body.cke_editable a:not(.btn) {
    color: var(--primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.ck-content a:not(.btn):hover, .detail-description a:not(.btn):hover, .blog-content-body a:not(.btn):hover, .auto-page-body a:not(.btn):hover, .about-content a:not(.btn):hover, body.cke_editable a:not(.btn):hover {
    color: var(--secondary, var(--primary-hover));
}

/* Button Styling inside WYSIWYG & Dynamic Content Areas */
.ck-content .btn,
.detail-description .btn,
.blog-content-body .btn,
.auto-page-body .btn,
.about-content .btn,
.featured-product-box .btn,
.featured-service-box .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.ck-content .btn-primary,
.ck-content a.btn-primary,
.auto-page-body .btn-primary,
.auto-page-body a.btn-primary,
.detail-description .btn-primary,
.detail-description a.btn-primary,
.blog-content-body .btn-primary,
.blog-content-body a.btn-primary,
.about-content .btn-primary,
.about-content a.btn-primary,
.featured-product-box .btn-primary,
.featured-product-box a.btn-primary,
.featured-service-box .btn-primary,
.featured-service-box a.btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.35) !important;
}

.ck-content .btn-primary:hover,
.ck-content a.btn-primary:hover,
.auto-page-body .btn-primary:hover,
.auto-page-body a.btn-primary:hover,
.detail-description .btn-primary:hover,
.detail-description a.btn-primary:hover,
.blog-content-body .btn-primary:hover,
.blog-content-body a.btn-primary:hover,
.about-content .btn-primary:hover,
.about-content a.btn-primary:hover,
.featured-product-box .btn-primary:hover,
.featured-product-box a.btn-primary:hover,
.featured-service-box .btn-primary:hover,
.featured-service-box a.btn-primary:hover {
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(99, 102, 241, 0.5) !important;
}

.ck-content .btn-secondary,
.ck-content a.btn-secondary,
.auto-page-body .btn-secondary,
.auto-page-body a.btn-secondary,
.detail-description .btn-secondary,
.detail-description a.btn-secondary,
.blog-content-body .btn-secondary,
.blog-content-body a.btn-secondary {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-glass) !important;
    text-decoration: none !important;
}

.ck-content .btn-secondary:hover,
.ck-content a.btn-secondary:hover,
.auto-page-body .btn-secondary:hover,
.auto-page-body a.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Featured Boxes Inside Content */
.featured-product-box,
.featured-service-box {
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 28px 0 !important;
    background: rgba(99, 102, 241, 0.05) !important;
    border: 1px solid rgba(99, 102, 241, 0.2) !important;
}

.featured-product-box h4,
.featured-service-box h4 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
}

.featured-product-box p,
.featured-service-box p {
    color: var(--text-main) !important;
    margin-bottom: 16px !important;
}

/* ==========================================================================
   TEXT ALIGNMENT UTILITIES (CKEditor Toolbar Compatible)
   ========================================================================== */
.ck-content [style*="text-align: center"], .detail-description [style*="text-align: center"], .blog-content-body [style*="text-align: center"],
.ck-content [style*="text-align:center"], .detail-description [style*="text-align:center"], .blog-content-body [style*="text-align:center"] {
    text-align: center;
}

.ck-content [style*="text-align: right"], .detail-description [style*="text-align: right"], .blog-content-body [style*="text-align: right"],
.ck-content [style*="text-align:right"], .detail-description [style*="text-align:right"], .blog-content-body [style*="text-align:right"] {
    text-align: right;
}

.ck-content [style*="text-align: justify"], .detail-description [style*="text-align: justify"], .blog-content-body [style*="text-align: justify"],
.ck-content [style*="text-align:justify"], .detail-description [style*="text-align:justify"], .blog-content-body [style*="text-align:justify"] {
    text-align: justify;
}

.ck-content [style*="text-align: left"], .detail-description [style*="text-align: left"], .blog-content-body [style*="text-align: left"],
.ck-content [style*="text-align:left"], .detail-description [style*="text-align:left"], .blog-content-body [style*="text-align:left"] {
    text-align: left;
}

/* ==========================================================================
   RESPONSIVE (Mobile Screen Handling)
   ========================================================================== */
@media (max-width: 768px) {
    .ck-content img.left, .detail-description img.left, .blog-content-body img.left,
    .ck-content img.right, .detail-description img.right, .blog-content-body img.right,
    .ck-content img[style*="float: left"], .detail-description img[style*="float: left"],
    .ck-content img[style*="float: right"], .detail-description img[style*="float: right"],
    .ck-content figure.image.left, .ck-content figure.image.right,
    .ck-content figure.image-style-side {
        float: none !important;
        max-width: 100% !important;
        margin: 16px auto !important;
        display: block !important;
    }
    
    .ck-content ul, .detail-description ul, .blog-content-body ul, .auto-page-body ul,
    .ck-content ol, .detail-description ol, .blog-content-body ol, .auto-page-body ol {
        padding-left: 26px;
    }

    .ck-content table, .detail-description table, .blog-content-body table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
