   :root {
       --bg-color: #ffffff;
       --text-color: #222222;
       --meta-color: #555555;
       --highlight: #12A19A;
       --quote-bg: #f9f9f9;
       --border-color: #ccc;
       --surface-color: #f4f4f4;
   }

   .layout {
       padding: 0 6%;
       overflow: hidden;
       margin: 20px 0;
   }

   a {
       text-decoration: none;
       color: #12A19A;
   }

   .main h1 {
       text-align: center;
       color: #12A19A;
   }

   .contact-us {
       display: flex;
       display: -webkit-flex;
       background-color: #fff;
       overflow: hidden;
       border-radius: 10px
   }

   .contact-us form {
       padding: 25px 30px
   }

   .fgroup {
       margin: 12px 0
   }

   .fgroup label {
       margin-bottom: 5px;
       display: inline-block
   }

   .fgroup input, .fgroup textarea {
       width: 100%;
       padding: 7px 12px;
       outline: none;
       border: 1px solid #12A19A;
       border-radius: 3px
   }

   .fgroup textarea {
       resize: none
   }

   .col {
       width: 50%
   }

   .col img {
       width: 100%;
       object-fit: cover;
       height: 100%
   }

   .contact-us form button {
       width: 110px;
       padding: 10px;
       background-color: green;
       outline: none;
       border: none;
       color: #fff;
       border-radius: 3px;
       box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
       transition: all 0.2s;
       cursor: pointer;
   }

   .contact-us form button:hover {
       box-shadow: 0 3px 13px rgba(0, 0, 0, 0.2);
   }

   .side-menu {
       width: 300px;
       height: 400px;
       background-color: #12A19A;
       display: inline-block;
       margin-left: 15px;
       position: -webkit-sticky;
       /* Safari */
       position: sticky;
       top: 0;
   }

   .content {
       width: calc(100% - 330px);
       background-color: antiquewhite;
       height: 700px;
       display: inline-block;
   }

   .cucq {
       background-color: #fff;
       border-radius: 11px;
       padding: 10px 12px;
       margin: 6px 8px;
       border: 1px solid #fff;
   }

   .cucq>a {
       display: block;
       width: 100%;
   }

   .cucq:hover {
       border: 1px solid #12A19A;
   }

   .txtcus {
       border-radius: 10px;
       background-color: #fff;
       padding: 12px 33px;
       margin-bottom: 8px
   }

   .contact-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
       gap: 1.5rem;
       margin: 2rem 0
   }

   .contact-card {
       background: #fff;
       border: 1px solid #eee;
       border-radius: 10px;
       padding: 1.5rem;
       text-align: center;
       transition: all 0.3s ease
   }

   .contact-card:hover {
       border-color: #009688;
       box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
       transform: translateY(-3px)
   }

   .contact-card h3 {
       margin-top: 1rem;
       font-size: 1.1rem
   }

   .contact-card p {
       font-size: 0.8rem;
       color: #555
   }

   .contact-card p a {
       font-size: 1rem;
       padding: 8px
   }

   @media(max-width:800px) {
       .contact-us {
           flex-wrap: wrap-reverse;
       }

       .col {
           width: 100%;
       }

       .layout {
           padding: 0;
       }
   }

   /******* infertility_consult ******/

   .ffcon {
       max-width: 800px;
       margin: 2rem auto;
       padding: 2rem;
       background-color: white;
       border-radius: 12px;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
       direction: rtl;
       text-align: right
   }

   .ffhead {
       text-align: center;
       margin-bottom: 2rem
   }

   .ffhead h1 {
       font-size: 1.5rem;
       font-weight: 700;
       color: #12A19A;
       margin-bottom: 0.5rem
   }

   .ffhead img {
       border-radius: 7px;
       height: 50vh;
       margin-top: 12px;
       max-width: 100%;
       object-fit: cover
   }

   .ffhead p {
       color: #64748b;
       font-size: 0.875rem
   }

   .ffsection {
       margin-bottom: 2rem;
       padding-bottom: 1.5rem;
       border-bottom: 1px solid #e2e8f0;
   }

   .ffstlt {
       font-size: 1.25rem;
       font-weight: 700;
       color: #2d3748;
       margin-bottom: 1rem;
       padding-right: 0.5rem;
       border-right: 4px solid #12A19A;
   }

   .ffrow {
       display: flex;
       flex-wrap: wrap;
       margin: 0 -0.75rem
   }

   .ffrow .ffgroup {
       flex: 1;
       padding: 0 0.75rem;
       min-width: 250px
   }

   .ffgroup {
       margin-bottom: 1.5rem
   }

   .time-pill {
       position: relative;
       cursor: pointer;
   }

   .time-pill input[type="radio"] {
       display: none;
   }

   .time-pill span {
       display: inline-block;
       padding: 0.5rem 1.21em;
       background: #f3f3f3;
       color: #333;
       border-radius: 30px;
       border: 2px solid #ccc;
       transition: all 0.3s ease;
       font-size: 0.9rem
   }

   .doc-option {
       width: 49%;
       position: relative;
       cursor: pointer;
   }

   .doc-option input[type="radio"] {
       display: none;
   }

   .doc-card {
       display: flex;
       align-items: center;
       gap: 1rem;
       min-height: 134px;
       border: 2px solid #ccc;
       border-radius: 10px;
       padding: 1rem;
       background: #fafafa;
       transition: border-color 0.3s ease, background 0.3s ease;
   }

   .doc-card img {
       width: 80px;
       height: 80px;
       border-radius: 50%;
       object-fit: cover;
       border: 2px solid #12A19A;
   }

   .doc-info strong {
       font-size: 1rem;
       display: block;
       color: #333;
   }

   .doc-price {
       font-size: 0.9rem;
       color: #777;
   }

   .doc-option input:checked+.doc-card {
       border-color: #12A19A;
       background: #e6f7f6;
   }

   .time-options {
       display: flex;
       flex-wrap: wrap;
       gap: 1rem;
   }

   /* Selected style */
   .time-pill input:checked+span {
       border-color: #12A19A;
       background: #e6f7f6
   }

   .doc-name {
       display: block;
       margin-top: 0.3rem;
       font-size: 0.85rem;
       color: #555
   }

   .fflbl {
       display: block;
       font-weight: 500;
       margin-bottom: 0.5rem;
       color: #4a5568;
   }

   .ffinput,
   .ffselect,
   .fftarea {
       width: 100%;
       padding: 0.75rem 1rem;
       border: 1px solid #e2e8f0;
       border-radius: 0.375rem;
       font-size: 0.875rem;
       transition: all 0.3s ease;
   }

   .ffinput:focus,
   .ffselect:focus,
   .fftarea:focus {
       outline: none;
       border-color: #12A19A;
       /* box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.2); */
   }

   .fftarea {
       resize: vertical
   }

   .ffrgroup {
       display: flex;
       flex-wrap: wrap;
       gap: 0.5rem;
       margin-top: 0.8rem
   }

   .ffritem {
       display: flex;
       align-items: center;
       gap: 0.5rem;
   }

   .fertility-form-radio {
       accent-color: #4299e1;
       width: 16px;
       height: 16px;
   }

   .fffile {
       padding: 1rem;
       background-color: #ebf8ff;
       border: 1px dashed #90cdf4;
       border-radius: 0.375rem;
       display: flex;
       flex-direction: column;
       align-items: center;
       justify-content: center;
       cursor: pointer;
       transition: all 0.3s ease;
       text-align: center;
   }

   .fffile:hover {
       background-color: #bee3f8;
   }

   .fffile input {
       display: none;
   }

   .fflbl {
       margin-top: 0.5rem;
       font-size: 0.875rem;
   }

   .fertility-file-list {
       margin-top: 0.75rem;
   }

   .fertility-files-ul {
       list-style: none;
       padding: 0.5rem 1rem;
   }

   .fertility-files-ul li {
       margin-bottom: 0.25rem;
       font-size: 0.875rem;
       color: #4a5568;
   }

   .fferror {
       display: block;
       color: #e53e3e;
       font-size: 0.75rem;
       margin-top: 0.25rem;
   }

   .ffaction {
       display: flex;
       justify-content: center;
       margin-top: 2rem;
       flex-direction: column;
       position: relative
   }

   .ffsbtn {
       background-color: green;
       color: white;
       padding: 0.75rem 2rem;
       border: none;
       border-radius: 0.375rem;
       cursor: pointer;
       transition: all 0.3s ease;
       font-size: 1rem
   }

   .ffsbtn:hover {
       background-color: #12A19A;
   }

   /* Icons */
   .fficon {
       display: inline-block;
       width: 16px;
       height: 16px;
       background-size: contain;
       background-repeat: no-repeat;
       background-position: center;
       margin-left: 0.25rem;
       vertical-align: middle;
   }

   .user-icon {
       color: #12A19A;
       background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2312A19A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>');
   }

   .calendar-icon {
       background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2312A19A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>');
   }

   .phone-icon {
       background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2312A19A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>');
   }

   .upload-icon {
       background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2312A19A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg>');
   }

   .loader {
       display: flex;
       gap: 10px
   }

   .overlay {
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: rgba(255, 255, 255, 0.8);
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .ldot {
       width: 18px;
       height: 18px;
       border-radius: 50%;
       background-color: #12A19A;
       animation: pulse 1.1s infinite ease-in-out;
   }

   .ldot:nth-child(2) {
       animation-delay: 0.3s
   }

   .ldot:nth-child(3) {
       animation-delay: 0.6s
   }

   @keyframes pulse {
       0%, 100% {
           transform: scale(1);
           opacity: 1
       }

       50% {
           transform: scale(1.2);
           opacity: 0.7
       }
   }

   .img-con {
       position: relative;
       display: inline-block;
       margin-right: 10px;
   }

   .preview-img {
       width: 80px;
       height: 80px;
       object-fit: cover;
       border: 1px solid #ccc;
       border-radius: 5px;
   }

   .remove-btn {
       position: absolute;
       top: 5px;
       right: 5px;
       background-color: #fff;
       color: red;
       border: none;
       cursor: pointer;
   }

   .ffcntt {
       color: #151616
   }

   .ffcntt p {
       text-align: justify
   }

   .fftlt2 {
       font-size: 1.2rem
   }

   .ffatte {
       margin-top: 22px;
       color: black;
       text-align: center
   }

   .faqff {
       margin-top: 42px
   }

   .faqff h3 {
       text-align: center
   }

   .faqff h3::before, .faqff h3::after {
       content: '';
       display: inline-block;
       width: 32px;
       height: 2px;
       background-color: #12A19A;
       margin: 0 8px
   }

   .ffq h4 {
       margin-bottom: 4px
   }

   .ffq p {
       margin-top: 8px
   }

   .faq-list details {
       background: #f9f9f9;
       border: 1px solid #ddd;
       border-radius: 8px;
       margin-bottom: 0.6rem;
       padding: 0.8rem 1rem;
       transition: all 0.3s ease
   }

   .faq-list summary {
       cursor: pointer;
       font-weight: bold;
       color: #12A19A;
       outline: none
   }

   .faq-list p {
       margin-top: 0.6rem;
       font-size: 0.95rem;
       color: #444;
       line-height: 1.6
   }

   .faq-list details[open] {
       background: #e6f7f6;
       border-color: #12A19A
   }

   .edrfdes {
       text-align: center;
       margin-bottom: 30px;
       font-size: 1rem
   }

   .erbtn {
       background-color: #12A19A;
       color: white;
       border: none;
       padding: 12px 20px;
       font-size: 1rem;
       border-radius: 6px;
       cursor: pointer;
       width: 100%
   }

   .erbtn:hover {
       background-color: #0e7f7a
   }

   .confirmation {
       text-align: center;
       color: green;
       margin-top: 20px;
       font-weight: bold
   }

   @media (max-width: 768px) {
       .ffrow {
           flex-direction: column;
       }

       .ffcon {
           padding: 1.5rem;
           margin: 1rem;
       }

       .doc-option {
           width: 99%
       }
   }

   /* For invalid inputs */
   .is-invalid {
       border-color: #e53e3e !important;
   }

   .is-invalid:focus {
       box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.2) !important;
   }

   /******consultation-hub*******/
   .cnslt-hub {
       background: var(--bg-color);
       color: var(--text-color);
       padding: 2rem 1rem;
       max-width: 1200px;
       margin: auto;
       border-radius: 3px
   }

   /* title & desc */
   .cnslt-title {
       text-align: center;
       font-size: 2rem;
       margin-bottom: .5rem;
   }

   .cnslt-desc {
       text-align: center;
       color: var(--meta-color);
       max-width: 700px;
       margin: 0 auto 2rem;
   }

   /* grid */
   .cnslt-grid {
       display: grid;
       grid-template-columns: repeat(6, 1fr);
       gap: 0.5rem
   }

   .cnslt-card {
       background: #fff;
       /* box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; */
       box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
       border-radius: 12px;
       padding: 0.5rem;
       transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
       overflow: hidden;
       position: relative
   }

   .cnslt-card:hover {
       transform: scale(1.03) rotate(0deg) translate(0px, 0px) skewX(0deg);
       box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
       opacity: 1;
       filter: brightness(1.03);
   }

   .cnslt-card img {
       width: 100%;
       border-radius: 10px;
   }

   .ribon {
       position: absolute;
       background-color: var(--highlight);
       color: #fff;
       top: 10px;
       left: -25px;
       padding: 2px 30px;
       font-size: 14px;
       transform: rotate(-45deg);
   }

   .cnslt-card-title {
       font-size: 1rem;
       text-align: center;
       margin: .8rem 0 .4rem
   }

   /* more section */
   .cnslt-more-wrap {
       margin-top: 3rem;
       text-align: center;
   }

   .cnslt-more-btn {
       background: var(--highlight);
       color: #fff;
       border: none;
       padding: .7rem 1.5rem;
       border-radius: 30px;
       font-size: 1rem;
       cursor: pointer;
   }

   /* SEO content */
   .cnslt-more-content {
       position: relative;
       margin-top: 2rem;
       text-align: right;
       background: var(--quote-bg);
       padding: 1.5rem;
       border-radius: 16px;
       max-height: 260px;
       overflow: hidden;
       transition: max-height .4s ease;
   }

   .cnslt-more-content::after {
       content: "";
       position: absolute;
       bottom: 0;
       right: 0;
       left: 0;
       height: 60px;
       background: linear-gradient(to top, var(--quote-bg), transparent);
       pointer-events: none;
   }

   /* حالت باز */
   .cnslt-more-content.open {
       max-height: 6000px
   }

   /* حذف گرادینت در حالت باز */
   .cnslt-more-content.open::after {
       display: none;
   }

   .cnslt-more-content h3 {
       color: var(--highlight);
       margin-bottom: .5rem
   }

   @media (max-width: 900px) {
       .cnslt-grid {
           grid-template-columns: repeat(4, 1fr)
       }
   }

   @media (max-width: 850px) {
       .cnslt-grid {
           grid-template-columns: repeat(3, 1fr)
       }
   }

   @media (max-width: 768px) {
       .cnslt-grid {
           gap: 0.6rem;
           grid-template-columns: repeat(2, 1fr)
       }

       .cnslt-card {
           box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
           padding: 0.3rem
       }

       .cnslt-card-title {
           margin: 0.2rem 0 0.6rem;
           font-size: 1rem
       }

       .cnslt-more-content {
           max-height: 250px;
       }
   }