:root{
    --adp-orange:#fc9012;
    --adp-cyan:#00bddd;
    --adp-ink:#172033;
    --adp-muted:#64748b;
    --adp-line:#dce7ee;
    --adp-soft:#f5f9fc;
    --adp-warm:#fff8ef;
    --adp-white:#ffffff;
}

/* =========================================================
   ADAWATIPLUS
   FONT LIBRARY + TEXT TO IMAGE
   HUMAN UI
========================================================= */

html[lang="ar"] .adp-font-app,
html[lang="ar"] .adp-font-app button,
html[lang="ar"] .adp-font-app input,
html[lang="ar"] .adp-font-app textarea,
html[lang="ar"] .adp-font-app select{
    font-family:"Cairo",sans-serif;
}

html[lang="en"] .adp-font-app,
html[lang="en"] .adp-font-app button,
html[lang="en"] .adp-font-app input,
html[lang="en"] .adp-font-app textarea,
html[lang="en"] .adp-font-app select{
    font-family:"Montserrat",sans-serif;
}

html[lang="ar"] .adp-font-app h1,
html[lang="ar"] .adp-font-app h2,
html[lang="ar"] .adp-font-app h3,
html[lang="ar"] .adp-font-app h4{
    font-family:"Cairo",sans-serif !important;
    font-weight:700 !important;
}

/* Hide duplicate WordPress title on these tool pages */
.page-id-1781 .entry-title,
.page-id-1783 .entry-title{
    display:none !important;
}

.page-id-1781 .site-main,
.page-id-1783 .site-main{
    padding-top:0 !important;
}

.adp-font-app{
    width:min(100% - 32px,1280px);
    margin:0 auto;
    padding:42px 0 72px;
    color:var(--adp-ink);
}

.adp-font-app *,
.adp-font-app *:before,
.adp-font-app *:after{
    box-sizing:border-box;
}

/* =========================================================
   HERO
========================================================= */

.adp-font-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 150px;
    align-items:center;
    gap:42px;

    padding:44px 48px;
    margin:0 0 32px;

    border:1px solid var(--adp-line);
    border-radius:20px;
    background:var(--adp-white);
    overflow:hidden;
}

.adp-font-hero:before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    left:-110px;
    top:-130px;
    border-radius:50%;
    background:rgba(0,189,221,.07);
    pointer-events:none;
}

.adp-font-hero-copy{
    position:relative;
    z-index:1;
    max-width:780px;
}

.adp-eyebrow{
    display:inline-block;
    margin:0 0 9px;
    color:var(--adp-cyan);
    font-family:"Montserrat",sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:2.5px;
}

.adp-font-hero h1,
.adp-editor-heading h1{
    margin:0;
    color:var(--adp-ink);
    font-size:clamp(34px,4.2vw,52px);
    line-height:1.25;
    letter-spacing:-.6px;
}

.adp-font-hero p,
.adp-editor-heading p{
    max-width:720px;
    margin:13px 0 0;
    color:var(--adp-muted);
    font-size:16px;
    line-height:1.9;
}

.adp-font-hero-letter{
    position:relative;
    z-index:1;

    width:140px;
    height:140px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid var(--adp-line);
    border-radius:18px;

    background:
        linear-gradient(145deg,#f8fcfe,#fffaf5);

    color:var(--adp-ink);
    font-size:82px;
    font-weight:700;
}

.adp-feature-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:20px;
    margin-top:23px;
}

.adp-feature-row span{
    position:relative;
    padding-right:14px;
    color:var(--adp-muted);
    font-size:13px;
    font-weight:600;
}

.adp-feature-row span:before{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:6px;
    height:6px;
    transform:translateY(-50%);
    border-radius:50%;
    background:var(--adp-orange);
}

/* =========================================================
   SEARCH / FILTER
========================================================= */

.adp-library-toolbar{
    display:grid;
    grid-template-columns:minmax(280px,1fr) auto;
    gap:12px;
    align-items:center;
    margin-bottom:12px;
}

.adp-search-wrap{
    position:relative;
}

.adp-library-toolbar input,
.adp-library-toolbar select,
.adp-preview-input input,
.adp-control-panel input,
.adp-control-panel textarea,
.adp-control-panel select,
.adp-custom-size input{
    width:100%;
    min-height:48px;

    padding:10px 14px;

    border:1px solid var(--adp-line);
    border-radius:10px;

    background:var(--adp-white);
    color:var(--adp-ink);

    font-size:14px;
    outline:none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.adp-library-toolbar input:focus,
.adp-library-toolbar select:focus,
.adp-preview-input input:focus,
.adp-control-panel input:focus,
.adp-control-panel textarea:focus,
.adp-control-panel select:focus{
    border-color:var(--adp-cyan);
    box-shadow:0 0 0 3px rgba(0,189,221,.08);
}

.adp-toolbar-controls{
    display:grid;
    grid-template-columns:190px 190px;
    gap:10px;
}

/* =========================================================
   PREVIEW TEXT INPUT
========================================================= */

.adp-preview-input{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    align-items:center;
    gap:14px;

    padding:12px 14px;
    margin-bottom:26px;

    border:1px solid var(--adp-line);
    border-radius:12px;

    background:var(--adp-soft);
}

.adp-preview-input label{
    margin:0;
    color:var(--adp-ink);
    font-size:13px;
    font-weight:700;
}

.adp-preview-input input{
    min-height:44px;
    background:#fff;
}

/* =========================================================
   RESULTS HEADER
========================================================= */

.adp-library-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    margin:0 0 13px;
}

.adp-library-meta strong{
    color:var(--adp-ink);
    font-size:15px;
}

.adp-library-meta span{
    color:var(--adp-muted);
    font-family:"Montserrat",sans-serif;
    font-size:11px;
}

.adp-status{
    padding:55px 20px;
    text-align:center;
    color:var(--adp-muted);
}

/* =========================================================
   FONT GRID
========================================================= */

.adp-font-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.adp-font-card{
    position:relative;
    min-width:0;

    padding:20px;

    border:1px solid var(--adp-line);
    border-radius:14px;

    background:var(--adp-white);

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.adp-font-card:hover{
    border-color:#cbdde7;
    box-shadow:0 12px 28px rgba(23,32,51,.065);
    transform:translateY(-2px);
}

.adp-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.adp-font-family{
    margin:0;
    color:var(--adp-ink);

    font-family:"Montserrat",sans-serif !important;
    font-size:15px;
    font-weight:700;

    line-height:1.45;
    overflow-wrap:anywhere;
}

.adp-font-badge{
    flex:0 0 auto;

    padding:4px 8px;

    border-radius:6px;
    background:#edfafd;

    color:#008ca5;
    font-size:10px;
    font-weight:700;
}

.adp-card-preview{
    min-height:124px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px 4px 14px;

    color:var(--adp-ink);
    text-align:center;
    font-size:30px;
    line-height:1.6;

    overflow-wrap:anywhere;
}

.adp-card-meta{
    min-height:20px;
    color:var(--adp-muted);
    font-size:11px;
}

.adp-weight-list{
    min-height:28px;

    display:flex;
    flex-wrap:wrap;
    gap:5px;

    margin:12px 0 15px;
}

.adp-weight-list span{
    padding:3px 7px;

    border:1px solid #edf2f5;
    border-radius:5px;

    background:#fafcfd;

    color:var(--adp-muted);
    font-family:"Montserrat",sans-serif;
    font-size:9px;
}

.adp-card-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}

.adp-card-actions button,
.adp-primary-btn,
.adp-secondary-btn,
.adp-custom-size button{
    min-height:42px;
    padding:8px 12px;

    border:1px solid var(--adp-line);
    border-radius:8px;

    cursor:pointer;

    font-size:12px;
    font-weight:700;

    transition:
        background .15s ease,
        color .15s ease,
        border-color .15s ease;
}

.adp-download-font{
    background:var(--adp-white);
    color:var(--adp-ink);
}

.adp-download-font:hover{
    border-color:var(--adp-cyan);
    color:#008da6;
}

.adp-use-font,
.adp-primary-btn{
    border-color:var(--adp-cyan) !important;
    background:var(--adp-cyan);
    color:#fff;
}

.adp-use-font:hover,
.adp-primary-btn:hover{
    border-color:#00a8c5 !important;
    background:#00a8c5;
}

.adp-load-more-wrap{
    margin-top:28px;
    text-align:center;
}

.adp-secondary-btn{
    min-width:160px;
    background:#fff;
    color:var(--adp-ink);
}

.adp-secondary-btn:hover{
    border-color:var(--adp-ink);
}

/* =========================================================
   TEXT TO IMAGE
========================================================= */

.adp-editor-heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center;
}

.adp-editor-heading p{
    margin-left:auto;
    margin-right:auto;
}

.adp-editor-grid{
    display:grid;
    grid-template-columns:280px minmax(0,1fr) 250px;
    gap:14px;
    align-items:start;
}

.adp-control-panel,
.adp-canvas-panel,
.adp-size-panel{
    padding:18px;

    border:1px solid var(--adp-line);
    border-radius:14px;

    background:#fff;
}

.adp-control-block{
    margin-bottom:18px;
}

.adp-control-block label,
.adp-control-row label{
    display:block;
    margin:0 0 7px;

    color:var(--adp-ink);
    font-size:12px;
    font-weight:700;
}

.adp-control-panel textarea{
    min-height:125px;
    resize:vertical;
}

.adp-control-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:17px;
}

.adp-control-row input[type="color"]{
    height:46px;
    padding:4px;
}

.adp-segmented{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:4px;

    padding:4px;

    border-radius:9px;
    background:var(--adp-soft);
}

.adp-segmented button{
    padding:8px;

    border:0;
    border-radius:6px;

    background:transparent;
    color:var(--adp-muted);

    cursor:pointer;
    font-size:11px;
}

.adp-segmented button.active{
    background:#fff;
    color:var(--adp-ink);
    box-shadow:0 1px 4px rgba(23,32,51,.08);
}

.adp-canvas-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    padding:0 0 13px;

    color:var(--adp-muted);
    font-size:12px;
}

.adp-canvas-toolbar strong{
    color:var(--adp-ink);
    font-size:13px;
}

.adp-canvas-stage{
    min-height:500px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:auto;

    padding:20px;

    border-radius:10px;
    background:#eef3f6;
}

#adp-design-canvas{
    display:block;

    max-width:100%;
    max-height:620px;

    width:auto;
    height:auto;

    background:#fff;
    box-shadow:0 8px 24px rgba(23,32,51,.10);
}

.adp-export-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;

    margin-top:12px;
}

.adp-size-panel h3{
    margin:0 0 15px;

    color:var(--adp-ink);
    font-size:14px;
}

.adp-size-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}

.adp-size-grid button{
    min-height:72px;

    padding:10px 6px;

    border:1px solid var(--adp-line);
    border-radius:9px;

    background:#fff;
    color:var(--adp-ink);

    cursor:pointer;
    font-size:11px;
}

.adp-size-grid button:hover{
    border-color:#bfd3de;
}

.adp-size-grid button.active{
    border-color:var(--adp-orange);
    background:var(--adp-warm);
}

.adp-size-grid small{
    display:block;

    margin-top:5px;

    color:var(--adp-muted);
    font-family:"Montserrat",sans-serif;
    font-size:9px;
}

.adp-custom-size{
    display:grid;
    grid-template-columns:1fr 18px 1fr;
    gap:6px;

    margin-top:17px;

    align-items:center;
}

.adp-custom-size label,
.adp-custom-size button{
    grid-column:1/-1;
}

.adp-custom-size label{
    margin-bottom:2px;
    color:var(--adp-ink);
    font-size:11px;
    font-weight:700;
}

.adp-custom-size span{
    text-align:center;
    color:var(--adp-muted);
}

.adp-custom-size button{
    background:var(--adp-ink);
    color:#fff;
}

.adp-browser-note{
    margin-top:16px;
    padding:11px 12px;

    border-radius:8px;
    background:var(--adp-soft);

    color:var(--adp-muted);
    font-size:10px;
    line-height:1.7;
}

/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

    .adp-font-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .adp-editor-grid{
        grid-template-columns:260px minmax(0,1fr);
    }

    .adp-size-panel{
        grid-column:1/-1;
    }

    .adp-size-grid{
        grid-template-columns:repeat(4,1fr);
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

    .adp-font-app{
        width:min(100% - 24px,1280px);
        padding-top:28px;
    }

    .adp-font-hero{
        display:block;
        padding:28px 24px;
    }

    .adp-font-hero-letter{
        width:90px;
        height:90px;

        margin-top:24px;

        font-size:54px;
    }

    .adp-feature-row{
        gap:12px 18px;
    }

    .adp-library-toolbar{
        grid-template-columns:1fr;
    }

    .adp-toolbar-controls{
        grid-template-columns:1fr 1fr;
    }

    .adp-preview-input{
        grid-template-columns:1fr;
        gap:7px;
    }

    .adp-font-grid{
        grid-template-columns:1fr;
    }

    .adp-editor-grid{
        grid-template-columns:1fr;
    }

    .adp-size-grid{
        grid-template-columns:1fr 1fr;
    }

    .adp-canvas-stage{
        min-height:360px;
    }
}

@media(max-width:480px){

    .adp-toolbar-controls,
    .adp-control-row,
    .adp-export-row{
        grid-template-columns:1fr;
    }

    .adp-font-hero h1,
    .adp-editor-heading h1{
        font-size:32px;
    }

    .adp-card-preview{
        font-size:27px;
    }
}

/* =========================================================
   FONT CARD — HOVER STATE
========================================================= */

.adp-font-card{
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        background-color .18s ease;
}

.adp-font-card:hover{
    transform:translateY(-4px);
    border-color:var(--adp-cyan);
    background:#fcfeff;
    box-shadow:0 16px 34px rgba(23,32,51,.10);
}

.adp-font-card:hover .adp-font-family{
    color:var(--adp-cyan);
}

.adp-font-card:hover .adp-card-preview{
    transform:scale(1.015);
}

.adp-card-preview{
    transition:transform .18s ease;
}

/* =========================================================
   ADAWATIPLUS BRAND COLORS
========================================================= */

.adp-font-card{
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        background-color .18s ease;
}

.adp-font-card:hover{
    transform:translateY(-4px);
    border-color:var(--adp-orange);
    background:#fffdf9;
    box-shadow:0 16px 34px rgba(252,144,18,.11);
}

.adp-font-card:hover .adp-font-family{
    color:var(--adp-orange);
}

.adp-font-card:hover .adp-card-preview{
    transform:scale(1.015);
}

.adp-card-preview{
    transition:transform .18s ease;
}

/* تحميل الخط — سماوي الهوية */
.adp-download-font{
    border-color:var(--adp-cyan) !important;
    background:var(--adp-cyan) !important;
    color:#fff !important;
}

.adp-download-font:hover{
    border-color:#00a8c5 !important;
    background:#00a8c5 !important;
    color:#fff !important;
}

/* استخدام الخط — برتقالي الهوية */
.adp-use-font{
    border-color:var(--adp-orange) !important;
    background:var(--adp-orange) !important;
    color:#fff !important;
}

.adp-use-font:hover{
    border-color:#e77f06 !important;
    background:#e77f06 !important;
    color:#fff !important;
}

/* =========================================================
   FONT PREVIEW — ACTIVE HOVER COLOR
========================================================= */

.adp-card-preview{
    transition:
        transform .18s ease,
        color .18s ease;
}

.adp-font-card:hover .adp-card-preview{
    color:var(--adp-orange);
}

/* =========================================================
   ARABIC FONT LIBRARY
   LANGUAGE BADGE IS REDUNDANT
========================================================= */

html[lang="ar"] #adp-font-library .adp-font-badge{
    display:none !important;
}

/* =========================================================
   ENGLISH FONT LIBRARY
   LANGUAGE BADGE REMOVED
========================================================= */

html[lang="en"] #adp-font-library .adp-font-badge{
    display:none !important;
}

/* =========================================================
   ADAWATIPLUS ENGLISH FONT LIBRARY — LTR POLISH
========================================================= */

html[lang="en"] #adp-font-library,
html[lang="en"] #adp-text-image{
    direction:ltr;
    text-align:left;
}

html[lang="en"] .adp-font-hero-copy,
html[lang="en"] .adp-editor-heading{
    text-align:left;
}

html[lang="en"] .adp-font-hero-letter{
    font-family:"Montserrat",sans-serif !important;
    font-size:54px;
    letter-spacing:-3px;
}

html[lang="en"] .adp-feature-row span{
    padding-right:0;
    padding-left:14px;
}

html[lang="en"] .adp-feature-row span:before{
    right:auto;
    left:0;
}

html[lang="en"] .adp-font-card{
    direction:ltr;
}

html[lang="en"] .adp-card-preview{
    direction:ltr;
}

html[lang="en"] #adp-font-library .adp-font-badge{
    display:none !important;
}
