/* Dena Graph 3.3 — unified visual system, RTL and responsive polish. */
:root{--dg-accent:#3156db;--dg-night:#112d46;--dg-gold:#f4b34b;--dg-surface:#f6f8fd;--dg-line:#d9e1ee;--dg-radius:18px;--dg-shadow:0 14px 40px rgba(21,43,75,.08)}
html{scroll-behavior:smooth}
body{line-height:1.82}
[hidden]{display:none!important}
img.dg-image-missing{background:linear-gradient(130deg,#e2e8f5,#f1f4fb);min-height:90px;object-fit:contain}
a,button,input,textarea,select{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--dg-gold);outline-offset:3px}
input,select,textarea{max-width:100%;border:1px solid #cbd7e8;border-radius:12px;background:#fff;color:#172c48;padding:12px 14px;min-height:48px}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--dg-accent)}
input::placeholder,textarea::placeholder{color:#8292aa}
input:focus,select:focus,textarea:focus{border-color:var(--dg-accent);box-shadow:0 0 0 4px rgba(49,86,219,.1);outline:none}
button:disabled,[aria-disabled="true"]{opacity:.67;cursor:not-allowed;filter:grayscale(.15)}
.btn,.button{border-radius:12px;min-height:44px;align-items:center;justify-content:center;text-align:center}
.btn-primary{box-shadow:0 6px 18px rgba(39,82,220,.13)}
.btn:not(:disabled):hover,.category-tile:hover,.studio-card:hover{transform:translateY(-2px)}
.section-head{gap:18px;align-items:end}
.section-head h2{line-height:1.45}
.section-head a,.text-link{color:var(--dg-accent);font-weight:700}
.page-hero{position:relative;overflow:hidden}
.page-hero .dg-wrap{position:relative;z-index:1}
.page-hero h1,.membership-hero h1{line-height:1.43;overflow-wrap:anywhere}
.page-hero:before{content:"";pointer-events:none;position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(49,86,219,.07),transparent 67%);top:-280px;left:-130px}
.site-header{backdrop-filter:saturate(160%) blur(16px)}
.site-header a,.site-header button{font-size:clamp(12px,1vw,15px)}
.site-header .brand{flex-shrink:0}
.studio-grid{align-items:stretch}
.studio-card{overflow:hidden;border-radius:17px;border:1px solid var(--dg-line);box-shadow:0 7px 25px rgba(10,32,62,.055);background:#fff}
.studio-card-media{overflow:hidden;background:#dce5f3}
.studio-card-media img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.2,1)}
.studio-card:hover .studio-card-media img{transform:scale(1.045)}
.studio-card-copy{padding:16px 18px 20px}
.studio-card-copy h3{line-height:1.55;overflow-wrap:anywhere}
.tag-placeholder{font-size:11px;letter-spacing:0;line-height:1.5}
.category-tile{border-radius:16px;overflow:hidden;box-shadow:var(--dg-shadow)}
.category-tile h3{line-height:1.6}
.catalog-toolbar,.catalog-results-bar,.chip-row{gap:12px}
.catalog-toolbar label{font-size:13px;font-weight:600}
.chip-row{display:flex;flex-wrap:wrap;align-items:center}
.chip-row .chip{border-radius:12px;padding:10px 15px;white-space:nowrap;line-height:1.5;border:1px solid #d4deec;background:#fff}
.chip-row .chip.is-on,.chip-row .chip[aria-current=true]{background:var(--dg-accent);color:#fff;border-color:var(--dg-accent)}
.catalog-toolbar input,.catalog-toolbar select{height:52px}
.empty{padding:28px;border:1px dashed #c1cfe4;border-radius:15px;background:#fff;text-align:center;color:#536985}
.plans{align-items:stretch;gap:20px}
.plans .plan{display:flex;flex-direction:column;gap:14px;border-radius:20px;padding:25px;background:white;border:1px solid #d8e2f0;box-shadow:0 9px 30px rgba(12,41,81,.065);position:relative;overflow:hidden}
.plans .plan.featured{border:2px solid var(--dg-accent);box-shadow:0 15px 38px rgba(42,74,175,.13)}
.plans .plan h2{font-size:clamp(22px,2.1vw,29px);line-height:1.45;margin:0}
.plans .plan>p{margin:0}
.plans .plan ul{padding-right:21px;margin:0 0 auto;display:grid;gap:9px;list-style:disc}
.plans .plan li{line-height:1.85;font-size:14px}
.plans .plan li::marker{color:#2854dc}
.plans .plan-price{display:grid;gap:5px;line-height:1.7;font-weight:800;color:#143c69;font-size:clamp(21px,1.8vw,27px);overflow-wrap:anywhere}
.plans .plan-price small{display:block;color:#697b91;font-size:12px;font-weight:500}
.plans .plan .btn{width:100%;margin-top:auto;white-space:normal}
.plans .plan:has(.dg-plan-select.selected){border-color:#3156db;background:linear-gradient(160deg,#f7f9ff,#fff 55%)}
.dg-plan-notice{border-right:4px solid #3156db;padding:16px 20px;background:#eaf0ff!important;border-radius:12px;font-size:14px}
.plan-checkout{background:linear-gradient(155deg,#f6f8ff,#fff);border:1px solid #cad8ef;border-radius:20px;margin-top:28px;padding:clamp(22px,3vw,35px);box-shadow:var(--dg-shadow)}
.plan-checkout h2{margin-top:0;color:#122e4d;font-size:clamp(22px,2.3vw,30px)}
.plan-choice-label{font-weight:800;color:#1642ad;background:#edf2ff;border-radius:10px;padding:12px 15px}
.dg-plan-readiness{display:block;margin:14px 0;padding:13px 16px;border-radius:12px;background:#e6f6ee;color:#195a3d;font-size:14px;border:1px solid #c8ebd7}
.dg-plan-readiness.is-warning{background:#fff6e4;color:#785012;border-color:#f3d79a}
.plan-checkout [data-checkout]{min-width:min(100%,280px)}
.membership-hero+.section .start-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.membership-hero+.section .start-steps>*{background:#e7edf8;border:1px solid #dae5f2;border-radius:12px;padding:10px 15px;font-size:13px}
.membership-hero+.section .start-steps .is-on{background:#e6edff;color:#2746a2}
.guest-checkout{margin:14px 0;padding:18px;border-radius:14px;background:#fff;border:1px solid #dbe5f0}
.order-layout,.detail-layout,.shop-layout{align-items:start;gap:clamp(18px,2.6vw,34px)}
.step-pane,.purchase-panel,.studio-panel,.catalog-filters,.order-layout aside{border-radius:18px}
.order-fields{gap:16px}
.order-fields label{gap:6px;font-weight:600}
.service-choices>button,.voice-choices>button{border-radius:14px;min-height:95px;line-height:1.6;border:1px solid #cfdbec}
.service-choices>button.selected,.voice-choices>button.selected{border-color:#3056d8;box-shadow:0 0 0 3px rgba(45,85,225,.08)}
.start-steps{overflow:auto;scrollbar-width:thin}
.studio-order-callout,.shop-hero,.studio-hero{overflow:hidden;border-radius:20px}
.shop-layout .catalog-filters details summary{font-weight:700}
.studio-card-price a{color:#264fd1}
.detail-main img,.gallery-grid img{border-radius:14px}
.site-footer{margin-top:65px}
.site-footer a{transition:opacity .2s}
.site-footer a:hover{opacity:.78}
.dg-dialog{max-width:min(94vw,760px);border-radius:20px}
.dg-dialog [data-dialog-media] img,.dg-dialog [data-dialog-media] video{max-height:min(78vh,900px);object-fit:contain;margin:auto}
.studio-title h1{line-height:1.5}
.studio-panel{overflow-wrap:anywhere}
.studio-table-scroll{overflow:auto;max-width:100%;scrollbar-width:thin}
.studio-workspace table{min-width:620px}
@media(max-width:1100px){.plans{gap:13px}.plans .plan{padding:20px}.studio-grid{gap:16px}}
@media(max-width:800px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-checkout{padding:20px}.shop-layout{grid-template-columns:1fr}.catalog-toolbar{flex-wrap:wrap}.catalog-toolbar label{flex:1 1 210px}.chip-row{gap:7px}.chip-row .chip{font-size:12px;padding:9px 11px}.page-hero h1{font-size:clamp(28px,5vw,46px)}}
@media(max-width:580px){:root{--dg-radius:13px}.plans{grid-template-columns:1fr}.plans .plan{padding:22px}.membership-hero+.section .start-steps{display:none}.catalog-toolbar{display:grid;grid-template-columns:1fr}.catalog-toolbar label{min-width:0}.studio-card-copy{padding:12px}.category-tile h3{font-size:16px}.site-footer{margin-top:36px}.order-fields{grid-template-columns:1fr}.plan-checkout [data-checkout]{width:100%}.studio-grid{gap:12px}.dg-dialog{padding:18px}.page-hero{padding-block:24px}.studio-hero{min-height:380px}.studio-hero-copy{padding:12px}.account-chip{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.dg-error-page{min-height:62vh;display:grid;align-items:center}.dg-error-inner{background:#fff;border:1px solid #d8e1ee;border-radius:24px;max-width:850px;margin:auto;text-align:center;padding:clamp(24px,6vw,65px);box-shadow:var(--dg-shadow)}.dg-error-code{display:block;font-size:clamp(75px,15vw,145px);line-height:1;color:#d7e1f3;letter-spacing:-.06em}.dg-error-inner h1{font-size:clamp(25px,4vw,42px)}.dg-error-inner .hero-actions{justify-content:center;flex-wrap:wrap}
