PageSourceSearch

https://shop.storymirror.com/Corporate-Cocktail-A-Happy-High/p/1xh60cj28mj9mk173xf5

html storymirror.com collected 2026-10-01 10:44:13 UTC 120,604 bytes, 2,891 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    <meta charset="UTF-8">
6
7    <title>Corporate Cocktail – A Happy High | A Corporate Life &amp; Career Journey Book</title>
8    <meta property="og:title" content="Corporate Cocktail – A Happy High | A Corporate Life &amp; Career Journey Book">
9    <meta property="twitter:title" content="Corporate Cocktail – A Happy High | A Corporate Life &amp; Career Journey Book">
10
11    <meta name="description" content="Corporate Cocktail – A Happy High is a relatable non-fiction book exploring corporate life, career growth, burnout, ambition, and work-life balance in today’s workplace.">
12    <meta property="og:description" content="Corporate Cocktail – A Happy High is a relatable non-fiction book exploring corporate life, career growth, burnout, ambition, and work-life balance in today’s workplace.">
13    <meta property="twitter:description" content="Corporate Cocktail – A Happy High is a relatable non-fiction book exploring corporate life, career growth, burnout, ambition, and work-life balance in today’s workplace.">
14
15    <meta property="og:image" content="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-front-cover-low-res.jpeg">
16    <meta property="twitter:image" content="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-front-cover-low-res.jpeg">
17    <meta name="google-site-verification" content="IwUTGr-kh4tDNlT6Y5xexDerbVezIspyRpiz6etIMp0" />
18    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
19    <meta name="google" value="notranslate">
20
21    <link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
22    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
23    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
24    <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
25    <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap" rel="stylesheet">
26    <link href="/assets/styles/Style.css" type="text/css" rel="stylesheet" />
27    <link href="/assets/styles/owl.carousel.min.css" type="text/css" rel="stylesheet" />
28    <link href="/assets/styles/owl.theme.default.css" type="text/css" rel="stylesheet" />
29    <link href="/assets/styles/header.css" type="text/css" rel="stylesheet" />
30    <link href="/assets/styles/product-detail.css" type="text/css" rel="stylesheet" />
31    <link href="/assets/styles/my-cart.css" type="text/css" rel="stylesheet" />
32    <link href="/assets/styles/bootstrap-4.1.3-addition.css" type="text/css" rel="stylesheet" />
33
34    <link href="/assets/flipbook/css/min.css" type="text/css" rel="stylesheet" />
35
36    <!-- GOOGLE ADSENSE -->
37    
37<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
37
38    
38<script>
39        (adsbygoogle = window.adsbygoogle || []).push({
40            google_ad_client: "ca-pub-1491052137723624",
41            enable_page_level_ads: true
42        });
43    </script>
43
44    <!-- END -- GOOGLE ADSENSE -->
45    <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 68 bytes, lines 45-46
45
46    <script async src="https://www.googletagmanager.com/gtag/js?id=
46UA-60188173-1
vendor: 16 bytes, lines 46-47
46"></script>
47    
47<script>
48        
vendor: 156 bytes, lines 48-52
48window.dataLayer = window.dataLayer || [];
49        function gtag(){dataLayer.push(arguments);}
50        gtag('js', new Date());
51    
52        gtag('config', '
52UA-60188173-1
vendor: 8 bytes, lines 52-53
52');
53    
53</script>
53
54    
55    
56    <!-- NETCORE -->
57    
57<script src='//cdnt.netcoresmartech.com/smartechclient.js'></script>
57      
58    
58<script>        
59    smartech('create', 'ADGMOT35CHFLVDHBJNIG50K96887RUNUJ37M4IESVADBNK0VRA7G' );        
60    smartech('register', '5acd8fccc77c89afa75236b2543e2746');        
61    smartech('identify', '');      
62    </script>
62      
63    <style>
64        /* ========================================= */
65        /* ====== FLIPBOOK FULLSCREEN STYLES ======= */
66        /* ========================================= */
67        #flipbookModal {
68            padding: 0 !important;
69        }
70        #flipbookModal .modal-dialog {
71            width: 100% !important;
72            height: 100% !important;
73            margin: 0 !important;
74            padding: 0 !important;
75            max-width: 100% !important;
76        }
77        #flipbookModal .modal-content {
78            height: 100% !important;
79            border-radius: 0 !important;
80            border: none !important;
81        }
82        #flipbookModal .modal-body {
83            height: calc(100% - 60px); /* Adjust for header height */
84            padding: 0 !important;
85            background-color: #333; /* Dark background */
86            overflow: hidden;
87        }
88        .flipbook-container {
89            width: 100%;
90            height: 100%;
91            margin: 0;
92            border: none;
93            box-shadow: none;
94        }
95
96        /* ========================================= */
97        /* ====== FLIPBOOK CONTROLS STYLING ======== */
98        /* ========================================= */
99        
100        /* 1. Main Toolbar Background */
101        .df-ui-wrapper {
102            background: linear-gradient(to top, rgba(0,0,0,0.9), transparent) !important;
103            padding-bottom: 15px;
104        }
105
106        /* 2. MAIN TOOLBAR BUTTONS (The Circles) */
107        .df-ui-controls > .df-ui-btn {
108            background-color: rgba(255, 255, 255, 0.2) !important;
109            border: 1px solid rgba(255, 255, 255, 0.4) !important;
110            border-radius: 50% !important;
111            margin: 0 6px !important;
112            width: 44px !important;
113            height: 44px !important;
114            min-width: 44px !important;
115            box-shadow: 0 2px 5px rgba(0,0,0,0.3);
116            color: white !important;
117            display: flex !important;
118            align-items: center !important;
119            justify-content: center !important;
120            transition: all 0.2s ease;
121            background-image: none !important; 
122        }
123
124        .df-ui-controls > .df-ui-btn:hover {
125            background-color: #fff !important;
126            color: #333 !important;
127            transform: translateY(-2px);
128        }
129
130        /* 3. ICONS (Using FontAwesome) */
131        .df-ui-btn::before {
132            font-family: 'FontAwesome' !important;
133            font-weight: normal;
134            font-style: normal;
135            font-size: 18px;
136            line-height: 1;
137            -webkit-font-smoothing: antialiased;
138        }
139
140        /* Map buttons to FontAwesome Unicode Characters */
141        .df-ui-zoomin::before { content: "\f00e" !important; }
142        .df-ui-zoomout::before { content: "\f010" !important; }
143        .df-ui-sound::before { content: "\f028" !important; }
144        .df-ui-sound-off::before { content: "\f026" !important; }
145        .df-ui-fullscreen::before { content: "\f065" !important; }
146        .df-ui-share::before { content: "\f1e0" !important; }
147        .df-ui-more::before { content: "\f142" !important; font-size: 20px !important; }
148        .df-ui-outline::before { content: "\f0ca" !important; }
149        .df-ui-thumbnail::before { content: "\f009" !important; }
150        .df-ui-next::before { content: "\f054" !important; padding-left: 2px; }
151        .df-ui-prev::before { content: "\f053" !important; padding-right: 2px; }
152
153        /* ========================================= */
154        /* ====== 4. FIX: THE POPUP MENU LIST ====== */
155        /* ========================================= */
156        .df-ui-popup {
157            background-color: #222 !important;
158            border: 1px solid #444 !important;
159            border-radius: 5px !important;
160            padding: 5px 0 !important;
161            width: auto !important;
162            min-width: 180px !important;
163            bottom: 60px !important;
164            box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
165        }
166
167        .df-ui-popup .df-ui-btn {
168            width: 100% !important;       
169            height: auto !important;      
170            border-radius: 0 !important;  
171            margin: 0 !important;         
172            border: none !important;      
173            background: transparent !important; 
174            justify-content: flex-start !important;
175            padding: 10px 15px !important;
176            font-size: 13px !important;
177            color: #fff !important;
178            text-align: left !important;
179            box-shadow: none !important;
180            display: block !important;
181        }
182
183        .df-ui-popup .df-ui-btn:hover {
184            background-color: rgba(255,255,255,0.15) !important;
185            transform: none !important;
186            color: #fff !important;
187        }
188
189        .df-ui-popup .df-ui-btn::before {
190            display: none !important;
191        }
192
193        /* ========================================= */
194        /* ====== 5. FIX: THE SIDEBAR VISIBILITY === */
195        /* ========================================= */
196        
197        /* Force sidebar text to be BLACK so it is visible on the light background */
198        .df-ui-sidebar {
199            background-color: #f2f2f2 !important;
200            color: #333 !important;
201        }
202
203        /* Sidebar items (Outline/Table of Contents links) */
204        .df-ui-sidebar .df-outline-item,
205        .df-ui-sidebar .df-outline-link {
206            color: #333 !important;
207            font-size: 14px !important;
208            padding: 8px 10px !important;
209            border-bottom: 1px solid #e0e0e0;
210            display: block !important;
211            text-decoration: none !important;
212        }
213        
214        .df-ui-sidebar .df-outline-item:hover,
215        .df-ui-sidebar .df-outline-link:hover {
216            background-color: #e0e0e0 !important;
217            color: #000 !important;
218        }
219        
220        /* Thumbnail Container */
221        .df-ui-sidebar .df-thumbnail-item {
222            color: #333 !important;
223        }
224        
225        /* Close Sidebar Button (Top Left) */
226        .df-ui-sidebar .df-ui-btn.df-ui-close {
227            color: #333 !important;
228            background: transparent !important;
229            box-shadow: none !important;
230            border: none !important;
231        }
232        .df-ui-sidebar .df-ui-btn.df-ui-close::before {
233            content: "\f00d" !important; /* Close icon */
234            font-family: 'FontAwesome' !important;
235            font-size: 20px;
236        }
237
238        /* 6. Page Input Field Styling */
239        .df-ui-wrapper input[type="text"] {
240            background: rgba(255,255,255,0.9) !important;
241            border-radius: 20px !important;
242            color: #333 !important;
243            font-weight: bold;
244            border: none;
245            height: 34px !important;
246            padding: 0 10px !important;
247            margin-top: 5px;
248            text-align: center;
249            width: 60px !important;
250        }
251        
252        .df-ui-wrapper label {
253            color: #fff !important;
254            font-weight: 600;
255            margin: 0 10px;
256            font-size: 16px;
257        }
258        
259        /* Hide SVG ghosts */
260        .df-ui-btn svg { display: none !important; }
261
262        /* EXISTING STYLES */
263        /* ========================================= */
264        /* ======== A+ CONTENT STYLING ============= */
265        /* ========================================= */
266        .aplus-section {
267            padding: 40px 0;
268            background-color: var(--white);
269            border-top: 1px solid var(--border-color);
270        }
271        .aplus-module {
272            margin-bottom: 40px;
273            text-align: center;
274        }
275        .aplus-module:last-child {
276            margin-bottom: 0;
277        }
278        .aplus-module img {
279            max-width: 100%;
280            height: auto;
281            border-radius: 8px;
282            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
283        }
284        .aplus-module-text {
285            margin-top: 15px;
286            font-size: 16px;
287            color: var(--text-dark);
288            line-height: 1.6;
289        }
290        /* Layout: Full Width */
291        .aplus-layout-full_width .aplus-image-container {
292            width: 100%;
293        }
294        /* Layout: 3 Columns */
295        .aplus-layout-three_columns .row {
296            display: flex;
297            flex-wrap: wrap;
298        }
299        .aplus-layout-three_columns .col-img {
300            flex: 1 1 33.333%;
301            padding: 0 10px;
302            margin-bottom: 15px;
303        }
304        @media (max-width: 767px) {
305            .aplus-layout-three_columns .col-img {
306                flex: 1 1 100%;
307            }
308            .aplus-section {
309                padding: 20px 0;
310            }
311        }
312        /* ========================================= */
313        :root {
314            --primary-black: #1a1a1a;
315            --dark-gray: #4a4a4a;
316            --text-dark: #222222;
317            --text-light: #888888;
318            --white: #ffffff;
319            --light-gray-bg: #f9f9f9;
320            --border-color: #e5e5e5;
321            --green: #28a745;
322        }
323
324        body {
325            font-family: 'Poppins', sans-serif;
326            background-color: var(--white);
327            -webkit-font-smoothing: antialiased;
328        }
329
330        .custom-container {
331            max-width: 1140px;
332        }
333
334        /* Sections */
335
336        .about-section {
337            padding: 60px 0;
338        }
339
340        .features-section,
341        .reviews-section {
342            padding: 60px 0;
343            background-color: var(--light-gray-bg);
344        }
345
346        /* Hero Section */
347        .hero-section .hero-content .author-line {
348            font-size: 14px;
349            color: var(--text-light);
350            margin-bottom: 8px;
351            font-weight: 500;
352            text-transform: uppercase;
353            letter-spacing: 0.5px;
354        }
355
356        .hero-section .hero-content h1 {
357            font-size: 42px;
358            font-weight: 600;
359            color: var(--text-dark);
360            margin-top: 0;
361            margin-bottom: 20px;
362        }
363
364        .hero-section .hero-content .price-box {
365            margin-bottom: 30px;
366        }
367
368        .hero-section .hero-content .price {
369            font-size: 28px;
370            font-weight: 500;
371            color: var(--text-dark);
372        }
373
374        .original-price {
375            font-size: 20px;
376            color: black;
377            text-decoration: line-through;
378            margin-left: 12px;
379        }
380
381        .hero-section .book-cover {
382            max-width: 100%;
383            height: auto;
384            border-radius: 8px;
385        }
386
387        /* CTA Container */
388        .cta-container {
389            display: flex;
390            align-items: center;
391            gap: 15px;
392            flex-wrap: wrap;
393        }
394
395        .btn-cta-primary {
396            background-color: var(--primary-black);
397            color: var(--white);
398            padding: 15px 30px;
399            border-radius: 8px;
400            font-weight: 500;
401            font-size: 16px;
402            letter-spacing: 0.5px;
403            border: 1px solid var(--primary-black);
404            transition: all 0.3s ease;
405            flex-grow: 1;
406        }
407
408        .btn-cta-primary:hover {
409            background-color: var(--dark-gray);
410            border-color: var(--dark-gray);
411            color: var(--white);
412        }
413
414        .btn-cta-primary b {
415            font-weight: 500;
416        }
417        
418        /* "VIEW SAMPLE" BUTTON */
419        .btn-cta-secondary {
420            background-color: transparent;
421            color: var(--primary-black);
422            padding: 10px 20px; /* Smaller padding for sidebar */
423            border-radius: 8px;
424            font-weight: 500;
425            font-size: 14px;
426            letter-spacing: 0.5px;
427            border: 1px solid var(--primary-black);
428            transition: all 0.3s ease;
429            flex-grow: 1;
430            text-align: center;
431            width: 100%; /* Full width in sidebar */
432            display: block;
433        }
434
435        .btn-cta-secondary:hover {
436            background-color: var(--light-gray-bg);
437            border-color: var(--dark-gray);
438        }
439        /*  */
440
441
442        /* Variant Selector */
443        .variant-options {
444            margin: 20px 0 30px;
445            display: flex;
446            flex-wrap: wrap;
447            gap: 15px;
448        }
449
450        .variant-options a {
451            text-decoration: none;
452        }
453
454        .detail-product-category-panel {
455            min-width: 130px;
456            border: 1px solid var(--border-color);
457            border-radius: 6px;
458            overflow: hidden;
459            text-align: center;
460            cursor: pointer;
461            transition: all 0.2s ease-in-out;
462            background-color: var(--white);
463        }
464
465        .detail-product-category-panel:hover {
466            border-color: var(--green);
467            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
468        }
469
470        .detail-product-category-panel .header {
471            display: block;
472            padding: 6px 15px;
473            background-color: var(--green);
474            color: var(--white);
475            font-size: 12px;
476            font-weight: 600;
477            text-transform: uppercase;
478            letter-spacing: 0.5px;
479        }
480
481        .detail-product-category-panel .body {
482            display: block;
483            padding: 8px 15px;
484            font-size: 16px;
485            font-weight: 600;
486            color: var(--text-dark);
487        }
488
489        .active-category-panel {
490            border-color: var(--green);
491        }
492
493        .active-category-panel:hover {
494            box-shadow: none;
495        }
496
497        .variant-options a .detail-product-category-panel {
498            border-color: var(--border-color);
499        }
500
501        .variant-options a .detail-product-category-panel .header {
502            background-color: var(--text-light);
503        }
504
505        .variant-options a .detail-product-category-panel:hover .header {
506            background-color: var(--green);
507        }
508
509
510        /* Section Headers */
511        .features-section h2,
512        .reviews-section h2 {
513            font-size: 32px;
514            font-weight: 600;
515            margin-bottom: px;
516            color: var(--text-dark);
517            text-align: center;
518        }
519
520        .about-section h2 {
521            font-size: 32px;
522            font-weight: 600;
523            margin-bottom: 25px;
524            color: var(--text-dark);
525            text-align: left;
526        }
527
528        /* 1. Style for the product details box (no change) */
529        .product-details-box {
530            background-color: #ffffff;
531            border: 1px solid var(--border-color);
532            border-radius: 8px;
533            padding: 30px;
534            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
535            transition: box-shadow 0.3s ease-in-out;
536        }
537
538        .product-details-box:hover {
539            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
540        }
541
542        /* 2. Aggressively reduce spacing for elements inside the box */
543        .product-details-box hr {
544            margin-top: 15px;
545            margin-bottom: 15px;
546        }
547
548        /* Removes top margin from the E-BOOK box */
549        .product-details-box .variant-options {
550            margin: 0 0 15px 0;
551        }
552
553        .product-details-box #p-description:empty {
554            display: none;
555        }
556
557        /* Controls the final space above the Add to Cart button */
558        .product-details-box .price-box {
559            margin-bottom: 20px;
560        }
561
562        .feature-item {
563            padding: 20px;
564            text-align: center;
565        }
566
567        .feature-item .icon {
568            font-size: 36px;
569            color: var(--primary-black);
570            margin-bottom: 15px;
571        }
572
573        .feature-item h4 {
574            font-size: 14px;
575            font-weight: 600;
576            color: var(--text-light);
577            text-transform: uppercase;
578            letter-spacing: 1px;
579            margin-bottom: 8px;
580        }
581
582        .feature-item p {
583            font-size: 16px;
584            color: var(--text-dark);
585        }
586
587        /* About Section */
588        #p-description {
589            font-size: 16px;
590            line-height: 1.8;
591            color: #555;
592        }
593
594        .about-thumbnails {
595            margin-top: 30px;
596            display: flex;
597            flex-wrap: wrap;
598            gap: 10px;
599            justify-content: flex-start;
600        }
601
602        .about-thumbnails img {
603            width: 100px;
604            height: auto;
605            border-radius: 5px;
606            cursor: pointer;
607            border: 2px solid transparent;
608            transition: border 0.3s ease;
609        }
610
611        .about-thumbnails img:hover {
612            border-color: var(--primary-black);
613        }
614
615        .reviews-section {
616            padding: 30px 0;
617            background-color: var(--light-gray-bg);
618            margin-top: 0;
619        }
620
621        .reviews-section h2 {
622            font-size: 32px;
623            font-weight: 600;
624            margin-bottom: 40px;
625            text-align: center;
626            color: #1a1a1a;
627            position: relative;
628        }
629
630        .reviews-section h2:after {
631            content: '';
632            display: block;
633            width: 60px;
634            height: 3px;
635            background-color: var(--primary-yellow);
636            margin: 15px auto 0;
637            border-radius: 2px;
638        }
639
640        /* Rating Summary */
641        .rating-summary {
642            padding: 40px;
643            border-radius: 12px;
644            margin-bottom: 40px;
645            background: white;
646            box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
647        }
648
649        .rating-summary .average-rating {
650            text-align: center;
651            padding-bottom: 20px;
652            border-bottom: 1px solid #eee;
653            margin-bottom: 25px;
654        }
655
656        .rating-summary .average-rating h1 {
657            font-size: 48px;
658            font-weight: 600;
659            color: #1a1a1a;
660            margin: 0 0 10px;
661            line-height: 1;
662        }
663
664        .rating-summary .average-rating .fa-star {
665            font-size: 24px;
666            color: #FFD700;
667            margin: 0 2px;
668        }
669
670        .rating-summary .average-rating p {
671            margin-top: 12px;
672            color: #666;
673            font-size: 14px;
674        }
675
676        .rating-breakdown .rating-row {
677            display: flex;
678            align-items: center;
679            margin-bottom: 12px;
680            padding: 0 10px;
681        }
682
683        .rating-breakdown .rating-label {
684            width: 60px;
685            color: #666;
686            font-size: 14px;
687            font-weight: 500;
688        }
689
690        .rating-breakdown .progress {
691            flex-grow: 1;
692            margin: 0 15px;
693            height: 8px;
694            border-radius: 4px;
695            background-color: #f5f5f5;
696            overflow: hidden;
697        }
698
699        .rating-breakdown .progress-bar {
700            border-radius: 4px;
701            background-color: #FFD700;
702            transition: width 0.6s ease;
703        }
704
705        .rating-breakdown .rating-count {
706            width: 40px;
707            text-align: right;
708            color: #666;
709            font-size: 14px;
710            font-weight: 500;
711        }
712
713        /* Enhanced Review Form Styles */
714        .add-review-form {
715            padding: 30px 20px;
716            margin-top: 40px;
717            background-color: #f8f9fa;
718        }
719
720        .review-form-card {
721            background: white;
722            border-radius: 12px;
723            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
724            padding: 40px;
725            max-width: 600px;
726            margin: 0 auto;
727        }
728
729        .review-form-title {
730            font-size: 24px;
731            font-weight: 600;
732            color: #1a1a1a;
733            margin-bottom: 8px;
734            text-align: center;
735        }
736
737        .review-form-subtitle {
738            color: #666;
739            text-align: center;
740            margin-bottom: 30px;
741            font-size: 14px;
742            line-height: 1.5;
743        }
744
745        .rating-group {
746            text-align: center;
747            margin-bottom: 30px;
748            padding: 20px;
749            background-color: white;
750            border-radius: 12px;
751        }
752
753        .rating-label {
754            font-size: 16px;
755            font-weight: 500;
756            color: #1a1a1a;
757            margin-bottom: 15px;
758            display: block;
759        }
760
761        .rating-stars {
762            display: flex;
763            flex-direction: column;
764            align-items: center;
765        }
766
767        .stars-container {
768            display: flex;
769            justify-content: center;
770            gap: 8px;
771            margin-bottom: 10px;
772        }
773
774        .star-cell {
775            position: relative;
776        }
777
778        .star-cell input[type="radio"] {
779            display: none;
780        }
781
782        .rating-star {
783            font-size: 32px !important;
784            color: #ddd;
785            cursor: pointer;
786            transition: all 0.2s ease;
787            padding: 0 2px;
788        }
789
790        .rating-star:hover,
791        .rating-star.active {
792            color: #FFD700;
793            transform: scale(1.1);
794        }
795
796        .rating-text {
797            font-size: 14px;
798            color: #666;
799            margin-top: 10px;
800        }
801
802        .form-group {
803            margin-bottom: 24px;
804        }
805
806        .form-label {
807            font-size: 16px;
808            font-weight: 500;
809            color: #1a1a1a;
810            margin-bottom: 10px;
811            display: block;
812        }
813
814        .review-input,
815        .review-textarea {
816            width: 100%;
817            padding: 15px;
818            border: 1px solid #e0e0e0;
819            border-radius: 8px;
820            font-size: 14px;
821            color: #333;
822            background-color: #fff;
823            transition: all 0.2s ease;
824        }
825
826        .review-input:focus,
827        .review-textarea:focus {
828            outline: none;
829            border-color: #666;
830            box-shadow: none;
831        }
832
833        .review-input::placeholder,
834        .review-textarea::placeholder {
835            color: #999;
836            font-size: 14px;
837        }
838
839        .review-textarea {
840            min-height: 120px;
841            resize: vertical;
842            line-height: 1.6;
843        }
844
845        .btn-submit-review {
846            background-color: #f39c12 !important;
847            color: white;
848            border: none;
849            border-radius: 50px;
850            padding: 15px 32px;
851            font-size: 16px;
852            font-weight: 500;
853            width: 100%;
854            max-width: 200px;
855            margin: 20px auto 0;
856            display: block;
857            cursor: pointer;
858            transition: all 0.2s ease;
859        }
860
861        .btn-submit-review:hover {
862            background-color: #e67e22;
863            transform: translateY(-1px);
864        }
865
866        .btn-submit-review:active {
867            transform: translateY(0);
868        }
869
870        .btn-submit-review i {
871            margin-right: 8px;
872        }
873
874        @media (max-width: 767px) {
875            .review-form-card {
876                padding: 25px;
877            }
878
879            .review-form-title {
880                font-size: 20px;
881            }
882
883            .rating-star {
884                font-size: 28px !important;
885            }
886
887            .btn-submit-review {
888                width: 100%;
889                max-width: none;
890            }
891        }
892
893        /*share button*/
894        .btn-share {
895            background-color: transparent;
896            color: var(--primary-black);
897            padding: 15px 18px;
898            /* Match the Add to Cart button's vertical padding */
899            border-radius: 8px;
900            font-size: 16px;
901            /* Changed from 18px to 16px to match */
902            line-height: 1.3333333;
903            border: 1px solid var(--border-color);
904            transition: all 0.3s ease;
905            flex-shrink: 0;
906        }
907
908        .btn-share:hover {
909            background-color: var(--light-gray-bg);
910            border-color: var(--dark-gray);
911        }
912
913        #review_pool .d-table {
914            padding: 20px;
915            border-radius: 8px;
916            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
917            margin-bottom: 20px;
918        }
919
920        .add-review-form {
921            padding: 30px;
922            border-radius: 8px;
923            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
924            margin-top: 40px;
925        }
926
927        .rating-star {
928            font-size: 30px !important;
929            color: #bdc3c7;
930            cursor: pointer;
931            transition: color 0.2s ease;
932        }
933
934        input[type="radio"][name="rating"] {
935            display: none;
936        }
937
938        .rating-star:hover,
939        .rating-star.checked,
940        .fa-star.checked {
941            color: var(--primary-yellow);
942        }
943
944        /* Enhanced Review Form Styles */
945        .add-review-form {
946            padding: 30px 20px;
947            margin-top: 40px;
948            background-color: #f8f9fa;
949        }
950
951        .review-form-card {
952            background: white;
953            border-radius: 12px;
954            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
955            padding: 40px;
956            max-width: 600px;
957            margin: 0 auto;
958        }
959
960        .review-form-title {
961            font-size: 24px;
962            font-weight: 600;
963            color: #1a1a1a;
964            margin-bottom: 8px;
965            text-align: center;
966        }
967
968        .review-form-subtitle {
969            color: #666;
970            text-align: center;
971            margin-bottom: 30px;
972            font-size: 14px;
973            line-height: 1.5;
974        }
975
976        .rating-group {
977            text-align: center;
978            margin-bottom: 30px;
979            padding: 20px;
980            background: white;
981            border-radius: 12px;
982        }
983
984        .rating-label {
985            font-size: 16px;
986            font-weight: 500;
987            color: #1a1a1a;
988            margin-bottom: 15px;
989            display: block;
990        }
991
992        /* Star Rating */
993        input[type="radio"][name="rating"] {
994            display: none;
995        }
996
997        .d-table {
998            margin: 0 auto;
999        }
1000
1001        .rating-star {
1002            font-size: 32px !important;
1003            color: #ddd;
1004            cursor: pointer;
1005            transition: all 0.2s ease;
1006        }
1007
1008        .rating-star:hover,
1009        .rating-star.checked {
1010            color: #FFD700;
1011            transform: scale(1.1);
1012        }
1013
1014        .d-table-cell {
1015            padding: 0 6px;
1016        }
1017
1018        .rating-text {
1019            font-size: 14px;
1020            color: #666;
1021            margin-top: 10px;
1022            text-align: center;
1023        }
1024
1025        .form-label {
1026            font-size: 16px;
1027            font-weight: 500;
1028            color: var(--text-dark);
1029            margin-bottom: 8px;
1030            display: block;
1031        }
1032
1033        .review-button {
1034            font-size: 16px;
1035        }
1036
1037        .review-input,
1038        .review-textarea {
1039            border: 2px solid #e0e0e0;
1040            border-radius: 8px;
1041            padding: 12px 16px;
1042            font-size: 16px;
1043            transition: all 0.3s ease;
1044            width: 100%;
1045            margin-bottom: 20px;
1046        }
1047
1048        .review-input:focus,
1049        .review-textarea:focus {
1050            border-color: var(--primary-yellow);
1051            box-shadow: 0 0 0 3px rgba(243, 156, 18, 0.1);
1052            outline: none;
1053        }
1054
1055        .review-textarea {
1056            min-height: 150px;
1057            resize: vertical;
1058        }
1059
1060        .btn-submit-review {
1061            background-color: var(--primary-yellow);
1062            color: white;
1063            border: none;
1064            border-radius: 50px;
1065            padding: 15px 40px;
1066            font-size: 16px;
1067            font-weight: 600;
1068            display: block;
1069            margin: 30px auto 0;
1070            transition: all 0.3s ease;
1071        }
1072
1073        .btn-submit-review:hover {
1074            background-color: var(--dark-yellow);
1075            transform: translateY(-2px);
1076            box-shadow: 0 4px 12px rgba(243, 156, 18, 0.2);
1077        }
1078
1079        .btn-submit-review i {
1080            margin-right: 8px;
1081        }
1082
1083        /* Responsive */
1084        @media (max-width: 767px) {
1085
1086            h1,
1087            h2 {
1088                text-align: center;
1089            }
1090
1091            .hero-section {
1092                padding: 30px 0;
1093            }
1094
1095            .hero-section .hero-row {
1096                display: flex;
1097                flex-direction: column-reverse;
1098            }
1099
1100            .hero-section .hero-content {
1101                text-align: center;
1102                margin-top: 40px;
1103            }
1104
1105            .hero-section .hero-content h1 {
1106                font-size: 32px;
1107            }
1108
1109            .variant-options {
1110                justify-content: center;
1111            }
1112
1113            .cta-container {
1114                justify-content: center;
1115            }
1116
1117            .btn-cta-primary {
1118                margin: 0;
1119            }
1120
1121            .about-section {
1122                text-align: center;
1123            }
1124
1125            .about-section h2 {
1126                text-align: center;
1127            }
1128
1129            /* Center h2 on mobile */
1130            .about-thumbnails {
1131                justify-content: center;
1132            }
1133
1134            .about-thumbnails img {
1135                width: 80px;
1136                margin-top: 0;
1137            }
1138        }
1139
1140        /* Custom Flip Book Styles */
1141
1142
1143        /* Price Comparison Table */
1144        .price-compare-section {
1145            padding: 40px 0;
1146            background: #fff;
1147        }
1148
1149        .price-compare-card {
1150            background: #ffffff;
1151            border: 1px solid var(--border-color);
1152            border-radius: 8px;
1153            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
1154            padding: 20px;
1155            margin-top: 10px;
1156        }
1157
1158        .price-compare-header {
1159            font-size: 22px;
1160            font-weight: 600;
1161            margin: 0 0 10px 0;
1162            color: var(--text-dark);
1163            display: flex;
1164            align-items: center;
1165            gap: 8px;
1166        }
1167
1168        .price-compare-table {
1169            width: 100%;
1170            border-collapse: collapse;
1171            margin-top: 10px;
1172        }
1173
1174        .price-compare-table th,
1175        .price-compare-table td {
1176            padding: 12px 12px;
1177            border-bottom: 1px solid #eee;
1178            text-align: left;
1179        }
1180
1181        .price-compare-table th {
1182            color: var(--text-light);
1183            font-weight: 600;
1184            text-transform: uppercase;
1185            font-size: 12px;
1186            letter-spacing: 0.5px;
1187        }
1188
1189        .price-compare-row-highlight {
1190            background: #f6fff8;
1191        }
1192
1193        .price-compare-badge {
1194            display: inline-block;
1195            background: #28a745;
1196            color: #fff;
1197            padding: 4px 10px;
1198            border-radius: 12px;
1199            font-size: 12px;
1200            margin-left: 8px;
1201        }
1202
1203        .price-compare-link {
1204            font-size: 13px;
1205            color: #0d6efd;
1206            text-decoration: none;
1207        }
1208
1209        .price-compare-note {
1210            margin-top: 10px;
1211            color:
1211 var(--text-light);
1212            font-size: 12px;
1213        }
1214
1215        .or-section {
1216            text-align: center;
1217            margin-top: 30px;
1218        }
1219
1220        .or-option {
1221            margin-top: -10px;
1222            text-align: center;
1223        }
1224    </style>
1225</head>
1226
1227<body>
1228
1229    <div class="nav-holder bg-white shadow-5  navbar-fixed-top">
1230        <div class="container">
1231            <div class="row">
1232                <div class="col-xs-12">
1233                    <nav class="navbar navbar-default mb0 no-border bg-white">
1234                        <div class="container-fluid">
1235                            <div class="navbar-header mt-xs-5" style="vertical-align:middle;">
1236                                <span class="navbar-brand entypo-menu visible-xs" id="open-side-nav"></span>
1237                                <a class="navbar-brand" href="/">
1238                                    <img src="/assets/images/storylogo.png" height="50" />
1239                                    <img src="/assets/images/sm_name.png" height="25" class="ml_10 hidden-xs"/>
1240                                    <span class="badge">SHOP</span>
1241                                </a>
1242                            </div>
1243    
1244    
1245                            <ul class="nav navbar-nav navbar-right mobile-right-menu visible-xs">
1246                                <li>
1247                                    <span class="entypo-search mobile-search-icon"></span>
1248                                </li>
1249                            </ul>
1250    
1251    
1252                            <ul class="nav navbar-nav navbar-right hidden-xs">
1253                                <li>
1254                                    <a href="https://quotes.storymirror.com/" target="_blank" class="quotes">
1255                                        <b>Quotes</b>
1256                                    </a>
1257                                </li>
1258                                <li>
1259                                    <a href="https://audio.storymirror.com/" target="_blank" class="audio">
1260                                        <b>Audio</b>
1261                                    </a>
1262                                </li>
1263                                <li>
1264                                    <a href="https://storymirror.com/read/english/story" target="_blank">
1265                                        <b>Read</b>
1266                                    </a>
1267                                </li>
1268                                <li>
1269                                    <a href="https://storymirror.com/submit" target="_blank">
1270                                        <b>Write</b>
1271                                    </a>
1272                                </li>
1273    
1274                                <li class="dropdown">
1275                                    <a class="dropdown-toggle"  data-toggle="dropdown">
1276                                        <b>More</b>
1277                                    </a>
1278                                    <ul class="dropdown-menu" style="min-width:200
1278px;">
1279                                        <li></li>
1280                                        <li><a href="https://awards.storymirror.com/" target="_blank">Awards</a></li>
1281                                        <hr class="mt0 mb0">
1282                                        <li><a href="https://shop.storymirror.com/" target="_blank">Books</a></li>
1283                                        <hr class="mt0 mb0">
1284                                        <li><a href="https://storymirror.com/publish" target="_blank">Book Publish</a></li>
1285                                        <hr class="mt0 mb0">
1286                                        <li>
1287                                            <div class="p15" style="background-color:#f9f9f9;margin-bottom: -5px;">
1288                                                <span style="font-size:14px;"><a href="https://storymirror.com/contact-us" class="pr10 text-muted">Help</a></span>
1289                                                <hr class="mt5 mb5">
1290                                                <a href="https://storymirror.com/about-us" class="pr10 text-muted" style="display: inline-block;font-size: 12px;">About</a>
1291                                                <a href="https://storymirror.com/contact-us" class="pr10 text-muted" style="display: inline-block;font-size: 12px;">Contact Us</a>
1292                                            </div>
1293                                        </li>
1294                                    </ul>
1295                                </li>
1296    
1297                                <li>
1298                                    <input type="text" class="form-control mt-8" placeholder="Search books" id="search_input">
1299                                    <button class="btn btn-primary" onclick="search(search_input.value)">Search</button>
1300                                </li>
1301    
1302    
1303                                    <a href="#" style="display: inline-block;
1304        line-height: 50px;" onclick="window.location.href='https://storymirror.com/login?ref='+window.location.href">
1305                                        <span class="btn no-border text-muted"><b>Sign in</b></span>
1306                                    </a>
1307    
1308    
1309    
1310    
1311                            </ul>
1312                        </div>
1313                    </nav>
1314                </div>
1315            </div>
1316        </div>
1317    </div>
1318    <!-- responsive sidenav starts -->
1319    <div class="res-side-nav">
1320    </div>
1321    
1322    
1323    <div class="sid-nav-body shadow">
1324        <br class="mt30">
1325        <a href="https://quotes.storymirror.com/" target="_blank" class="audio">
1326            <div class="p15" style="position:relative;display:inline-block;">
1327                <strong>Quotes</strong>
1328            </div>
1329        </a>
1330        <hr class="mt0 mb0">
1331    
1332        <a href="https://audio.storymirror.com/" target="_blank" class="audio">
1333            <div class="p15" style="position:relative;display:inline-block;">
1334                <strong>Audio</strong>
1335            </div>
1336        </a>
1337        <hr class="mt0 mb0">
1338    
1339    
1340        <div class="p15">
1341            <a href="https://storymirror.com/read/english/story" target="_blank">
1342                <strong>Read</strong>
1343            </a>
1344        </div>
1345        <hr class="mt0 mb0">
1346    
1347        <div class="p15">
1348            <a href="https://shop.storymirror.com/" target="_blank">
1349                <strong>Books</strong>
1350            </a>
1351        </div>
1352        <hr class="mt0 mb0">
1353    
1354        <div>
1355            <div class="p15 more-drop text-primary" style="position:relative; font-weight: bold" id="more-drop">
1356                More
1357                <ul class="more-drop-down" id="more-drop-down" style="font-weight: normal !important;">
1358                    <li><a href="https://refer.storymirror.com/" target="_blank">Refer</a></li>
1359                    <hr class="mt0 mb0">
1360                    <li><a href="https://awards.storymirror.com/" target="_blank">Awards</a></li>
1361                    <hr class="mt0 mb0">
1362                    <li><a href="https://shop.storymirror.com/" target="_blank">Books</a></li>
1363                    <hr class="mt0 mb0">
1364                    <li><a href="https://storymirror.com/publish" target="_blank">Book Publish</a></li>
1365                    <hr class="mt0 mb0">
1366                    <li style="background-color:#f9f9f9;">
1367                        <div>
1368                            <span style="font-size:14px;"><a href="/contact-us" class="pr10 text-muted">Help</a></span>
1369                            <hr class="mt5 mb5">
1370                            <a href="/about-us" class="pr10 text-muted" style="display: inline-block;font-size: 12px;">About</a>
1371                            <a href="/contact-us" class="pr10 text-muted" style="display: inline-block;font-size: 12px;">Contact Us</a>
1372                        </div>
1373                    </li>
1374                </ul>
1375            </div>
1376        </div>
1377        <hr class="mt0 mb0">
1378        <a href="https://storymirror.com/submit" target="_blank">
1379            <div class="p15">
1380                <strong>Write</strong>
1381            </div>
1382        </a>
1383        <hr class="mt0 mb0">
1384            <a  onclick="window.location.href='https://storymirror.com/login?ref='+window.location.href">
1385                <div class="p15">
1386                    <strong>Sign In</strong>
1387                </div>
1388            </a>
1389    
1390    </div>
1391    
1392    
1393    
1394    
1395    
1396    
1397    
1398    
1399    
1400    
1401    
1402    
1403    
1404    
1405    
1406    
1407    
1408    
1409    
1410    
1411    
1412    
1413    
1414    
1415    
1416    
1417    
1418    
1419    
1420    
1421    
1422    <!-- responsive search view --->
1423    <div class="res-search-pool">
1424        <div class="header shadow">
1425            <span class="entypo-left-open back"></span>
1426            <span>
1427                <input type="text" placeholder="Type key here to search" class="res-search-input" id="res_search_input" value="" autofocus onkeypress="keyPressedInResSearchInput()"/>
1428            </span>
1429            <span class="entypo-cancel clear-search-text"></span>
1430        </div>
1431        <div class="body pt20" id="resPrediction">
1432            <p>We will fetch book names as per the search key...</p>
1433        </div>
1434        <div class="footer shadow text-center" style="position:fixed; bottom:0; width:100%">
1435            <button class="btn btn-primary no-border mt10" style="" onclick="search(res_search_input.value)"><span class="fa fa-search pr15"></span>Search</button>
1436        </div>
1437    </div>
1438    
1439    
1440
1441    <section class="hero-section">
1442        <div class="container custom-container">
1443            <div class="row">
1444                <div class="col-md-4 col-sm-12 sticky-image-container">
1445                    <div class="img-magnifier-container" id="bookImage">
1446                        <img src="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-front-cover-low-res.jpeg" class="book-cover big-image" />
1447                    </div>
1448                    <div class="about-thumbnails">
1449                        <span class="detail-small-image"> <img src="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-front-cover-low-res.jpeg" /> </span>
1450                        <span class="detail-small-image"> <img src="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-back-cover-low-res.jpeg" /> </span>
1451                        <span class="detail-small-image"> <img src="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-front-inside-cover-low-res.jpeg" /> </span>
1452                        <span class="detail-small-image"> <img src="https://assets.storymirror.com/media/upload/shop/product/corporate-cocktail-front-back-cover-low-res.jpeg" /> </span>
1453                    </div>
1454
1455                    <div style="margin-top: 20px; text-align: center;">
1456                    </div>
1457
1458                </div>
1459
1460                <div class="col-md-8 col-sm-12 product-details-box">
1461                    <h1 id="bookTitle" style="font-size: 48px; font-weight: 700;">Corporate Cocktail | A Happy High | Pre-order</h1>
1462                    <p class="author-line" style="font-size: 22px;">By <strong
1463                            id="bookAuthor">Tarishi Khanna</strong></p>
1464                    <hr>
1465                    <div class="book-meta-container">
1466                        <div class="feature-item">
1467                            <div class="icon fa fa-bookmark-o"></div>
1468                            <h4>GENRE</h4>
1469                            <p id="bookGenre">Self help</p>
1470                        </div>
1471                        <div class="feature-item">
1472                            <div class="icon fa fa-file-text-o"></div>
1473                            <h4>PAGES</h4>
1474                            <p>192</p>
1475                        </div>
1476                        <div class="feature-item">
1477                            <div class="icon fa fa-barcode"></div>
1478                            <h4>ISBN</h4>
1479                            <p>9789360700737</p>
1480                        </div>
1481                        <div class="feature-item">
1482                            <div class="icon fa fa-building-o"></div>
1483                            <h4>PUBLISHER</h4>
1484                            <p>
1485                                StoryMirror
1486                            </p>
1487                        </div>
1488                    </div>
1489                    <div class="buy-box">
1490                        <div class="variant-options">
1491                            <span class="detail-product-category-panel active-category-panel">
1492                                <span class="header"><small>PAPERBACK</small></span>
1493                                <span class="body">&#8377;499</span>
1494                            </span>
1495                            <a href="/Corporate-Cocktail-A-Happy-High/p/1xh60cj48pbmkd3ylm9">
1496                                <span class="detail-product-category-panel">
1497                                    <span class="header"><small>E-BOOK</small></span>
1498                                    <span class="body">&#8377;249</span>
1499                                </span>
1500                            </a>
1501                        </div>
1502
1503                          <div class="price-box">
1504                            <span class="price" style="font-size: 36px; font-weight: bold;">Rs. <span
1505                                    id="bookAmount">499</span></span>
1506                        </div>
1507
1508                        <div class="alert alert-light border mt-3" style="background-color: #f8f9fa; padding: 15px; border-radius: 8px; margin-bottom: 20px;">
1509                            <div style="font-size: 11px; text-transform: uppercase; color: #666; font-weight: 700; margin-bottom: 5px;">
1510                                Sold By
1511                            </div>
1512                            
1513                                <h4 style="margin: 0 0 5px 0; color: #333; font-weight: bold; font-size: 18px;">
1514                                    <i class="fa fa-check-circle" style="margin-right:5px; color:#28a745;"></i> StoryMirror
1515                                </h4>
1516                                <div style="font-size: 13px; color: #555;">
1517                                    <i class="fa fa-truck"></i> Sold and Shipped by StoryMirror
1518                                </div>
1519                        </div>
1520
1521                                <div class="delivery-estimate-card mt-3 border" style="padding: 15px; border-radius: 8px; background: #fdfdfd; margin-bottom: 20px; border-color: #eee;">
1522                                    <div style="font-size: 11px; text-transform: uppercase; color: #666; font-weight: 700; margin-bottom: 8px;">
1523                                        Delivery Options
1524                                    </div>
1525                                    <div class="form-group" style="margin-bottom: 0;">
1526                                        <div class="input-group" style="max-width: 320px; margin-bottom: 8px; display: flex;">
1527                                            <span class="input-group-addon" style="background:#fff; display: flex; align-items: center; border-right: none; padding: 6px 12px;"><i class="fa fa-map-marker text-danger"></i></span>
1528                                            <input type="text" id="deliveryPincodeInput" class="form-control" placeholder="Enter Pincode (e.g. 400079)" maxlength="6" style="border-left:none; height: auto;">
1529                                            <span class="input-group-btn">
1530                                                <button type="button" id="checkDeliveryBtn" class="btn btn-primary" style="font-weight: 600; border-radius: 0 4px 4px 0;">Check</button>
1531                                            </span>
1532                                        </div>
1533                                        <div id="deliveryEstimateResult" style="margin-top: 8px; display: none; font-size: 13px;"></div>
1534                                    </div>
1535                                </div>
1536
1537
1538                        <div>
1539                        </div>
1540
1541
1542                        <div class="price-compare-section">
1543                            <div class="price-compare-card">
1544                                <div class="price-compare-header">
1545                                    Best Price Comparison
1546                                </div>
1547                                <table class="price-compare-table">
1548                                    <thead>
1549                                        <tr>
1550                                            <th>Seller</th>
1551                                            <th>Price</th>
1552                                            <th></th>
1553                                        </tr>
1554                                    </thead>
1555                                    <tbody>
1556                                        <tr class="price-compare-row-highlight">
1557                                            <td>
1558                                                StoryMirror
1559                                                <span class="price-compare-badge">Best price</span>
1560                                            </td>
1561                                            <td>
1562                                                &#8377;499
1563                                            </td>
1564                                            <td></td>
1565                                        </tr>
1566
1567                                        <tr>
1568    <td>Amazon</td>
1569    <td>
1570            &#8377;499
1571    </td>
1572    <td>
1573    </td>
1574</tr>
1575
1576<tr>
1577    <td>Flipkart</td>
1578    <td>
1579            <span style="color:#999">Price not available</span>
1580    </td>
1581    <td>
1582    </td>
1583</tr>
1584                                        
1585                                </table>
1586                                <div class="price-compare-note">
1587                                    Prices on other marketplaces are indicative and may change.
1588                                </div>
1589                            </div>
1590                        </div>
1591
1592                        <div class="cta-container">
1593                            
1594                             <button id="buyNowBtn" class="btn btn-lg btn-cta-primary">
1595                               <b>Buy Now (Guest)</b>
1596                            </button>
1597                            
1598                            <a href="#" onclick="window.location.href='https://storymirror.com/login?ref='+window.location.href"
1599                                class="btn btn-lg btn-cta-primary">
1600                                <b>ADD TO CART</b>
1601                            </a>
1602
1603
1604                            
1605
1606                            <button id="shareButton" class="btn btn-lg btn-share" title="Share this book">
1607                                <i class="fa fa-share-alt"></i>
1608                            </button>
1609
1610
1611
1612
1613                        </div>
1614
1615                        <div id="p-description">
1616                            <p><br></p><p><br></p><p><br></p><h2><strong>About the Book</strong></h2><p><strong><em>For anyone who has ever chased success and questioned sanity, this book is your happy hour.</em></strong></p><p><strong>Corporate Cocktail – A Happy High</strong> follows Magh Mehra’s decade-long journey through the demanding world of corporate consulting, from a wide-eyed graduate to a seasoned professional navigating relentless deadlines, high-stakes clients, and the unspoken emotional toll of modern work life.</p><p>Along the way, she encounters mentors who challenge her, colleagues who become confidants, and projects that test her resilience and identity. Beyond promotions and milestones, the book explores burnout, self-doubt, ambition, humor, and the quiet courage it takes to rediscover purpose amid chaos.</p><p>Blending sharp observations with warmth and honesty, Corporate Cocktail offers a deeply relatable portrait of the modern workplace and resonates with anyone who has ever paused to ask, “Is this worth it?”</p><p>Key Highlights:</p><p>• A relatable corporate journey of ambition, burnout, and self-discovery</p><p>• Honest exploration of modern workplace pressures</p><p>• Ideal for young professionals, consultants, and corporate leaders</p><p>• A reflective and inspiring read on resilience, purpose, and balance</p><p><br></p><h2><strong>About the Author</strong></h2><p><strong>Tarishi Khanna</strong>, born in Delhi, is a consultant and writer currently based in Singapore. She began her corporate career at a consulting firm, stepping into the professional world with curiosity and ambition. Over the next decade, intense deadlines, cross-border projects, and demanding client environments shaped not only her career but also her creative voice.</p><p>Her debut book emerged during a period of professional burnout, when she began documenting one positive memory a day in search of clarity and balance. This simple practice became both a source of healing and the foundation for a story she felt compelled to share with others navigating similar crossroads.</p><p>Alongside consulting, Tarishi nurtured her passion for travel and writing. Work trips evolved into personal journeys across cultures and landscapes, shaping her perspective. Through her writing, she hopes to spark honest conversations around corporate burnout, resilience, and the importance of balancing ambition with exploration.</p><p><br></p><p><br></p><p><br></p><p><br></p>
1617                        </div>
1618
1619                    </div>
1620                </div>
1621            </div>
1622        </div>
1623    </section>
1624
1625
1626    <style>
1627      /* Force a robust flexbox grid for the similar products section */
1628      .product-grid-container .product-grid-row {
1629        display: flex;
1630        flex-wrap: wrap;
1631        margin-left: -15px;
1632        margin-right: -15px;
1633      }
1634      .product-grid-container .product-grid-item {
1635        width: 25%;
1636        padding-left: 15px;
1637        padding-right: 15px;
1638        margin-bottom: 30px;
1639        box-sizing: border-box;
1640      }
1641      /* Responsive: 3 items for tablets */
1642      @media (max-width: 991px) {
1643        .product-grid-container .product-grid-item {
1644          width: 33.333%;
1645        }
1646      }
1647      /* Responsive: 2 items for mobile */
1648      @media (max-width: 767px) {
1649        .product-grid-container .product-grid-item {
1650          width: 50%;
1651        }
1652      }
1653    </style>
1654    
1655    <section class="similar-products-section product-grid-container" style="padding: 60px 0; background-color: #f9f9f9;">
1656      <div class="container custom-container">
1657        <h2 style="text-align: center; margin-bottom: 40px;">You may also like</h2>
1658        
1659        <div class="product-grid-row">
1660          <div class="product-grid-item">
1661            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1662              <a href="/rise-from-success-to-significance/p/1xh60cjdu5ymu6si9tv" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1663                <div class="product-image">
1664                    <img src="https://assets.storymirror.com/media/upload/shop/product/whatsapp-image-2026-09-18-at-34804-pm.jpeg" alt="Rise from Success to Significance | An Insider&#x27;s Guide to Executive Coaching and Personal Transformation" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1665                </div>
1666                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1667        
1668        <h4 class="product-title" title="Rise from Success to Significance | An Insider&#x27;s Guide to Executive Coaching and Personal Transformation" style="
1669            font-size: 16px; 
1670            font-weight: 600; 
1671            line-height: 1.4em; /* Sets clear line height */
1672            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1673            overflow: hidden; 
1674            text-overflow: ellipsis; 
1675            display: -webkit-box; 
1676            -webkit-line-clamp: 2; 
1677            -webkit-box-orient: vertical; 
1678            margin: 0 0 12px 0; /* Adds safe space below title */
1679        ">Rise from Success to Significance | An Insider&#x27;s Guide to Executive Coaching and Personal Transformation</h4>
1680    
1681        <div class="product-format" style="
1682            font-size: 11px; 
1683            font-weight: 700; 
1684            color: #f77d0a; 
1685            margin-bottom: 8px; 
1686            text-transform: uppercase; 
1687            letter-spacing: 0.5px;
1688            min-height: 17px; /* Keeps alignment even if label is missing */
1689        ">
1690            
1691            PAPERBACK
1692            
1693        </div>
1694    
1695            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Ram Sundaresan</p>
1696    
1697        <div class="product-price" style="margin-top: auto;">
1698                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;400</span>
1699                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;450</span>
1700        </div>
1701    </div>
1702              </a>
1703            </div>
1704          </div>
1705          <div class="product-grid-item">
1706            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1707              <a href="/my-life-a-case-study-ram-saran/p/1xh60cj5gi1mtvc8uce" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1708                <div class="product-image">
1709                    <img src="https://assets.storymirror.com/media/upload/shop/product/my-life-a-case-study-front-cover-low-res.jpg" alt="My Life: A Case Study One Life, Many Steps, Countless Lessons - From Humble Beginnings to a Life of Purpose and Service" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1710                </div>
1711                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1712        
1713        <h4 class="product-title" title="My Life: A Case Study One Life, Many Steps, Countless Lessons - From Humble Beginnings to a Life of Purpose and Service" style="
1714            font-size: 16px; 
1715            font-weight: 600; 
1716            line-height: 1.4em; /* Sets clear line height */
1717            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1718            overflow: hidden; 
1719            text-overflow: ellipsis; 
1720            display: -webkit-box; 
1721            -webkit-line-clamp: 2; 
1722            -webkit-box-orient: vertical; 
1723            margin: 0 0 12px 0; /* Adds safe space below title */
1724        ">My Life: A Case Study One Life, Many Steps, Countless Lessons - From Humble Beginnings to a Life of Purpose and Service</h4>
1725    
1726        <div class="product-format" style="
1727            font-size: 11px; 
1728            font-weight: 700; 
1729            color: #f77d0a; 
1730            margin-bottom: 8px; 
1731            text-transform: uppercase; 
1732            letter-spacing: 0.5px;
1733            min-height: 17px; /* Keeps alignment even if label is missing */
1734        ">
1735            
1736            PAPERBACK
1737            
1738        </div>
1739    
1740            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Ram Saran</p>
1741    
1742        <div class="product-price" style="margin-top: auto;">
1743                <span class="price" style="font-weight: bold;">&#8377;349</span>
1744        </div>
1745    </div>
1746              </a>
1747            </div>
1748          </div>
1749          <div class="product-grid-item">
1750            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1751              <a href="/leadership-drift-ebook/p/1xh60cj1z262mt91wtua" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1752                <div class="product-image">
1753                    <img src="https://assets.storymirror.com/media/upload/shop/product/leadership-drift-front-cover-low-res.jpg" alt="Leadership Drift | The Silent Unraveling of Capable Leaders | 5 Operating States, 6 Drift Archetypes, 12 Leadership Tensions &amp; Window of Equilibrium" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1754                </div>
1755                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1756        
1757        <h4 class="product-title" title="Leadership Drift | The Silent Unraveling of Capable Leaders | 5 Operating States, 6 Drift Archetypes, 12 Leadership Tensions &amp; Window of Equilibrium" style="
1758            font-size: 16px; 
1759            font-weight: 600; 
1760            line-height: 1.4em; /* Sets clear line height */
1761            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1762            overflow: hidden; 
1763            text-overflow: ellipsis; 
1764            display: -webkit-box; 
1765            -webkit-line-clamp: 2; 
1766            -webkit-box-orient: vertical; 
1767            margin: 0 0 12px 0; /* Adds safe space below title */
1768        ">Leadership Drift | The Silent Unraveling of Capable Leaders | 5 Operating States, 6 Drift Archetypes, 12 Leadership Tensions &amp; Window of Equilibrium</h4>
1769    
1770        <div class="product-format" style="
1771            font-size: 11px; 
1772            font-weight: 700; 
1773            color: #f77d0a; 
1774            margin-bottom: 8px; 
1775            text-transform: uppercase; 
1776            letter-spacing: 0.5px;
1777            min-height: 17px; /* Keeps alignment even if label is missing */
1778        ">
1779            E-BOOK
1780            
1781            
1782        </div>
1783    
1784            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Marut Bhardwaj</p>
1785    
1786        <div class="product-price" style="margin-top: auto;">
1787                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;349</span>
1788                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;399</span>
1789        </div>
1790    </div>
1791              </a>
1792            </div>
1793          </div>
1794          <div class="product-grid-item">
1795            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1796              <a href="/leadership-drift/p/1xh60cj1z24mmt8isgse" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1797                <div class="product-image">
1798                    <img src="https://assets.storymirror.com/media/upload/shop/product/leadership-drift-front-cover-low-res.jpg" alt="Leadership Drift | The Silent Unraveling of Capable Leaders | 5 Operating States, 6 Drift Archetypes, 12 Leadership Tensions &amp; Window of Equilibrium" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1799                </div>
1800                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1801        
1802        <h4 class="product-title" title="Leadership Drift | The Silent Unraveling of Capable Leaders | 5 Operating States, 6 Drift Archetypes, 12 Leadership Tensions &amp; Window of Equilibrium" style="
1803            font-size: 16px; 
1804            font-weight: 600; 
1805            line-height: 1.4em; /* Sets clear line height */
1806            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1807            overflow: hidden; 
1808            text-overflow: ellipsis; 
1809            display: -webkit-box; 
1810            -webkit-line-clamp: 2; 
1811            -webkit-box-orient: vertical; 
1812            margin: 0 0 12px 0; /* Adds safe space below title */
1813        ">Leadership Drift | The Silent Unraveling of Capable Leaders | 5 Operating States, 6 Drift Archetypes, 12 Leadership Tensions &amp; Window of Equilibrium</h4>
1814    
1815        <div class="product-format" style="
1816            font-size: 11px; 
1817            font-weight: 700; 
1818            color: #f77d0a; 
1819            margin-bottom: 8px; 
1820            text-transform: uppercase; 
1821            letter-spacing: 0.5px;
1822            min-height: 17px; /* Keeps alignment even if label is missing */
1823        ">
1824            
1825            PAPERBACK
1826            
1827        </div>
1828    
1829            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Marut Bhardwaj</p>
1830    
1831        <div class="product-price" style="margin-top: auto;">
1832                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;749</span>
1833                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;799</span>
1834        </div>
1835    </div>
1836              </a>
1837            </div>
1838          </div>
1839          <div class="product-grid-item">
1840            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1841              <a href="/leaders-toolkit-collection/p/1xh60cjtnh8ms4mvts7" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1842                <div class="product-image">
1843                    <img src="https://assets.storymirror.com/media/upload/shop/product/placeholders-geetika-1-1.png" alt="Book Collection on Leadership, Management, Corporate Excellence, Founder Mindset &amp; Gen Z Leadership" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1844                </div>
1845                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1846        
1847        <h4 class="product-title" title="Book Collection on Leadership, Management, Corporate Excellence, Founder Mindset &amp; Gen Z Leadership" style="
1848            font-size: 16px; 
1849            font-weight: 600; 
1850            line-height: 1.4em; /* Sets clear line height */
1851            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1852            overflow: hidden; 
1853            text-overflow: ellipsis; 
1854            display: -webkit-box; 
1855            -webkit-line-clamp: 2; 
1856            -webkit-box-orient: vertical; 
1857            margin: 0 0 12px 0; /* Adds safe space below title */
1858        ">Book Collection on Leadership, Management, Corporate Excellence, Founder Mindset &amp; Gen Z Leadership</h4>
1859    
1860        <div class="product-format" style="
1861            font-size: 11px; 
1862            font-weight: 700; 
1863            color: #f77d0a; 
1864            margin-bottom: 8px; 
1865            text-transform: uppercase; 
1866            letter-spacing: 0.5px;
1867            min-height: 17px; /* Keeps alignment even if label is missing */
1868        ">
1869            
1870            
1871            
1872        </div>
1873    
1874            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Shekhar Attri, Meeta Kanhere, Virendra Shukla, Eklavya Chandra,  Narendranath Mishra</p>
1875    
1876        <div class="product-price" style="margin-top: auto;">
1877                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;1700</span>
1878                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;1900</span>
1879        </div>
1880    </div>
1881              </a>
1882            </div>
1883          </div>
1884          <div class="product-grid-item">
1885            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1886              <a href="/why-me-ebook/p/1xh60cj1p94nmqks4m6s" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1887                <div class="product-image">
1888                    <img src="https://assets.storymirror.com/media/upload/shop/product/why-me-front-cover-low-res.jpeg" alt="Why Me? by Debjani Ghosh | Book on Breaking Emotional Patterns &amp; Personal Growth" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1889                </div>
1890                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1891        
1892        <h4 class="product-title" title="Why Me? by Debjani Ghosh | Book on Breaking Emotional Patterns &amp; Personal Growth" style="
1893            font-size: 16px; 
1894            font-weight: 600; 
1895            line-height: 1.4em; /* Sets clear line height */
1896            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1897            overflow: hidden; 
1898            text-overflow: ellipsis; 
1899            display: -webkit-box; 
1900            -webkit-line-clamp: 2; 
1901            -webkit-box-orient: vertical; 
1902            margin: 0 0 12px 0; /* Adds safe space below title */
1903        ">Why Me? by Debjani Ghosh | Book on Breaking Emotional Patterns &amp; Personal Growth</h4>
1904    
1905        <div class="product-format" style="
1906            font-size: 11px; 
1907            font-weight: 700; 
1908            color: #f77d0a; 
1909            margin-bottom: 8px; 
1910            text-transform: uppercase; 
1911            letter-spacing: 0.5px;
1912            min-height: 17px; /* Keeps alignment even if label is missing */
1913        ">
1914            E-BOOK
1915            
1916            
1917        </div>
1918    
1919            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Debjani Ghosh</p>
1920    
1921        <div class="product-price" style="margin-top: auto;">
1922                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;245</span>
1923                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;275</span>
1924        </div>
1925    </div>
1926              </a>
1927            </div>
1928          </div>
1929          <div class="product-grid-item">
1930            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1931              <a href="/why-me/p/1xh60cj1p94nmqks48ot" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1932                <div class="product-image">
1933                    <img src="https://assets.storymirror.com/media/upload/shop/product/why-me-front-cover-low-res.jpeg" alt="Why Me? by Debjani Ghosh | Book on Breaking Emotional Patterns &amp; Personal Growth" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1934                </div>
1935                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1936        
1937        <h4 class="product-title" title="Why Me? by Debjani Ghosh | Book on Breaking Emotional Patterns &amp; Personal Growth" style="
1938            font-size: 16px; 
1939            font-weight: 600; 
1940            line-height: 1.4em; /* Sets clear line height */
1941            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1942            overflow: hidden; 
1943            text-overflow: ellipsis; 
1944            display: -webkit-box; 
1945            -webkit-line-clamp: 2; 
1946            -webkit-box-orient: vertical; 
1947            margin: 0 0 12px 0; /* Adds safe space below title */
1948        ">Why Me? by Debjani Ghosh | Book on Breaking Emotional Patterns &amp; Personal Growth</h4>
1949    
1950        <div class="product-format" style="
1951            font-size: 11px; 
1952            font-weight: 700; 
1953            color: #f77d0a; 
1954            margin-bottom: 8px; 
1955            text-transform: uppercase; 
1956            letter-spacing: 0.5px;
1957            min-height: 17px; /* Keeps alignment even if label is missing */
1958        ">
1959            
1960            PAPERBACK
1961            
1962        </div>
1963    
1964            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Debjani Ghosh</p>
1965    
1966        <div class="product-price" style="margin-top: auto;">
1967                <span class="price" style="font-weight: bold;">&#8377;549</span>
1968        </div>
1969    </div>
1970              </a>
1971            </div>
1972          </div>
1973          <div class="product-grid-item">
1974            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
1975              <a href="/leading-from-within-ebook/p/1xh60cj1cnkdmq94uzew" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
1976                <div class="product-image">
1977                    <img src="https://assets.storymirror.com/media/upload/shop/product/leading-from-within-front-cover-low-res.jpeg" alt="Leading From Within by Dr. Dinesh Shahra | Leadership &amp; Personal Growth Book" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
1978                </div>
1979                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
1980        
1981        <h4 class="product-title" title="Leading From Within by Dr. Dinesh Shahra | Leadership &amp; Personal Growth Book" style="
1982            font-size: 16px; 
1983            font-weight: 600; 
1984            line-height: 1.4em; /* Sets clear line height */
1985            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
1986            overflow: hidden; 
1987            text-overflow: ellipsis; 
1988            display: -webkit-box; 
1989            -webkit-line-clamp: 2; 
1990            -webkit-box-orient: vertical; 
1991            margin: 0 0 12px 0; /* Adds safe space below title */
1992        ">Leading From Within by Dr. Dinesh Shahra | Leadership &amp; Personal Growth Book</h4>
1993    
1994        <div class="product-format" style="
1995            font-size: 11px; 
1996            font-weight: 700; 
1997            color: #f77d0a; 
1998            margin-bottom: 8px; 
1999            text-transform: uppercase; 
2000            letter-spacing: 0.5px;
2001            min-height: 17px; /* Keeps alignment even if label is missing */
2002        ">
2003            E-BOOK
2004            
2005            
2006        </div>
2007    
2008            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Dr. Dinesh Shahra</p>
2009    
2010        <div class="product-price" style="margin-top: auto;">
2011                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;149</span>
2012                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;199</span>
2013        </div>
2014    </div>
2015              </a>
2016            </div>
2017          </div>
2018          <div class="product-grid-item">
2019            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
2020              <a href="/leading-from-within/p/1xh60cj1cnkdmq94ultj" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
2021                <div class="product-image">
2022                    <img src="https://assets.storymirror.com/media/upload/shop/product/leading-from-within-front-cover-low-res.jpeg" alt="Leading From Within by Dr. Dinesh Shahra | Leadership &amp; Personal Growth Book" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
2023                </div>
2024                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
2025        
2026        <h4 class="product-title" title="Leading From Within by Dr. Dinesh Shahra | Leadership &amp; Personal Growth Book" style="
2027            font-size: 16px; 
2028            font-weight: 600; 
2029            line-height: 1.4em; /* Sets clear line height */
2030            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
2031            overflow: hidden; 
2032            text-overflow: ellipsis; 
2033            display: -webkit-box; 
2034            -webkit-line-clamp: 2; 
2035            -webkit-box-orient: vertical; 
2036            margin: 0 0 12px 0; /* Adds safe space below title */
2037        ">Leading From Within by Dr. Dinesh Shahra | Leadership &amp; Personal Growth Book</h4>
2038    
2039        <div class="product-format" style="
2040            font-size: 11px; 
2041            font-weight: 700; 
2042            color: #f77d0a; 
2043            margin-bottom: 8px; 
2044            text-transform: uppercase; 
2045            letter-spacing: 0.5px;
2046            min-height: 17px; /* Keeps alignment even if label is missing */
2047        ">
2048            
2049            PAPERBACK
2050            
2051        </div>
2052    
2053            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Dr. Dinesh Shahra</p>
2054    
2055        <div class="product-price" style="margin-top: auto;">
2056                <span class="price" style="font-weight: bold;">&#8377;399</span>
2057        </div>
2058    </div>
2059              </a>
2060            </div>
2061          </div>
2062          <div class="product-grid-item">
2063            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
2064              <a href="/Learn-School-Maths-Easy-Way/p/1xh60cjn29mmpirew51" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
2065                <div class="product-image">
2066                    <img src="https://assets.storymirror.com/media/upload/shop/product/6_ykGHTJp.jpg" alt="Learn School Maths Easy Way : Vedic Mathematics Book1" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
2067                </div>
2068                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
2069        
2070        <h4 class="product-title" title="Learn School Maths Easy Way : Vedic Mathematics Book1" style="
2071            font-size: 16px; 
2072            font-weight: 600; 
2073            line-height: 1.4em; /* Sets clear line height */
2074            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
2075            overflow: hidden; 
2076            text-overflow: ellipsis; 
2077            display: -webkit-box; 
2078            -webkit-line-clamp: 2; 
2079            -webkit-box-orient: vertical; 
2080            margin: 0 0 12px 0; /* Adds safe space below title */
2081        ">Learn School Maths Easy Way : Vedic Mathematics Book1</h4>
2082    
2083        <div class="product-format" style="
2084            font-size: 11px; 
2085            font-weight: 700; 
2086            color: #f77d0a; 
2087            margin-bottom: 8px; 
2088            text-transform: uppercase; 
2089            letter-spacing: 0.5px;
2090            min-height: 17px; /* Keeps alignment even if label is missing */
2091        ">
2092            
2093            PAPERBACK
2094            
2095        </div>
2096    
2097            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Dr. Yogesh Chandna</p>
2098    
2099        <div class="product-price" style="margin-top: auto;">
2100                <span class="price" style="font-weight: bold;">&#8377;252</span>
2101        </div>
2102    </div>
2103              </a>
2104            </div>
2105          </div>
2106          <div class="product-grid-item">
2107            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
2108              <a href="/Vedic-Maths-for-Competitive-Exams/p/1xh60cjn1f2mpiqur99" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
2109                <div class="product-image">
2110                    <img src="https://assets.storymirror.com/media/upload/shop/product/12_ONHGYxi.jpg" alt="Vedic Maths for Competitive Exams" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
2111                </div>
2112                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
2113        
2114        <h4 class="product-title" title="Vedic Maths for Competitive Exams" style="
2115            font-size: 16px; 
2116            font-weight: 600; 
2117            line-height: 1.4em; /* Sets clear line height */
2118            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
2119            overflow: hidden; 
2120            text-overflow: ellipsis; 
2121            display: -webkit-box; 
2122            -webkit-line-clamp: 2; 
2123            -webkit-box-orient: vertical; 
2124            margin: 0 0 12px 0; /* Adds safe space below title */
2125        ">Vedic Maths for Competitive Exams</h4>
2126    
2127        <div class="product-format" style="
2128            font-size: 11px; 
2129            font-weight: 700; 
2130            color: #f77d0a; 
2131            margin-bottom: 8px; 
2132            text-transform: uppercase; 
2133            letter-spacing: 0.5px;
2134            min-height: 17px; /* Keeps alignment even if label is missing */
2135        ">
2136            
2137            PAPERBACK
2138            
2139        </div>
2140    
2141            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Dr. Yogesh Chandna</p>
2142    
2143        <div class="product-price" style="margin-top: auto;">
2144                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;390</span>
2145                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;399</span>
2146        </div>
2147    </div>
2148              </a>
2149            </div>
2150          </div>
2151          <div class="product-grid-item">
2152            <div class="product-item" style="text-align: center; background: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: 100%;">
2153              <a href="/vedic-maths/p/1xh60cjn1f2mpi0sfo7" style="text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%;">
2154                <div class="product-image">
2155                    <img src="https://assets.storymirror.com/media/upload/shop/product/books-cover-a-4-size-8.jpg" alt="Vedic Mathematics in 30 Days" style="max-width: 100%; height: 220px; object-fit: contain; margin-bottom: 15px; border-radius: 4px;">
2156                </div>
2157                <div class="product-details" style="display: flex; flex-direction: column; flex-grow: 1;">
2158        
2159        <h4 class="product-title" title="Vedic Mathematics in 30 Days" style="
2160            font-size: 16px; 
2161            font-weight: 600; 
2162            line-height: 1.4em; /* Sets clear line height */
2163            height: 2.8em;      /* Forces height to exactly 2 lines (1.4 * 2) */
2164            overflow: hidden; 
2165            text-overflow: ellipsis; 
2166            display: -webkit-box; 
2167            -webkit-line-clamp: 2; 
2168            -webkit-box-orient: vertical; 
2169            margin: 0 0 12px 0; /* Adds safe space below title */
2170        ">Vedic Mathematics in 30 Days</h4>
2171    
2172        <div class="product-format" style="
2173            font-size: 11px; 
2174            font-weight: 700; 
2175            color: #f77d0a; 
2176            margin-bottom: 8px; 
2177            text-transform: uppercase; 
2178            letter-spacing: 0.5px;
2179            min-height: 17px; /* Keeps alignment even if label is missing */
2180        ">
2181            
2182            PAPERBACK
2183            
2184        </div>
2185    
2186            <p class="product-author" style="margin-bottom: 10px; color: #666; font-size: 14px;">By Dr. Yogesh Chandna</p>
2187    
2188        <div class="product-price" style="margin-top: auto;">
2189                <span class="price" style="font-weight: bold; color: #d9534f;">&#8377;390</span>
2190                <span class="original-price" style="text-decoration: line-through; margin-left: 5px; color: #777;">&#8377;399</span>
2191        </div>
2192    </div>
2193              </a>
2194            </div>
2195          </div>
2196        </div>
2197    
2198      </div>
2199    </section>
2200
2201
2202    <section class="reviews-section">
2203        <div class="container custom-container">
2204            <h2>Ratings & Reviews</h2>
2205            <div class="row">
2206                <div class="col-md-8 col-md-offset-2">
2207
2208                                        <div class="reviews pt20" id="review_pool"></div>
2209
2210                    <div class="add-review-form" id="review-form-section">
2211                        <h5>
2212                             Be the first to add a review!                         </h5>
2213                        <form method="POST" action="">
2214                            <input type="hidden" name="_csrf" value="ca7CATGe-GNl_ybXmMvwNUygqPh4kkaBOCWE">
2215                            <input type="hidden" name="slug" value="Corporate-Cocktail-A-Happy-High">
2216                            <input type="hidden" name="product_id" value="1xh60cj28mj9mk173xf5">
2217
2218                            <div class="form-group rating-group">
2219                                <label class="rating-label">How would you rate this book?</label>
2220                                <div class="d-table mt15 mb15">
2221                                    <div class="d-table-cell pr5">
2222                                        <label class="fa fa-star rating-star" for="star-rating-1"></label>
2223                                        <input required type="radio" name="rating" value="1" id="star-rating-1">
2224                                    </div>
2225                                    <div class="d-table-cell pr5">
2226                                        <label class="fa fa-star rating-star" for="star-rating-2"></label>
2227                                        <input type="radio" name="rating" value="2" id="star-rating-2">
2228                                    </div>
2229                                    <div class="d-table-cell pr5">
2230                                        <label class="fa fa-star rating-star" for="star-rating-3"></label>
2231                                        <input type="radio" name="rating" value="3" id="star-rating-3">
2232                                    </div>
2233                                    <div class="d-table-cell pr5">
2234                                        <label class="fa fa-star rating-star" for="star-rating-4"></label>
2235                                        <input type="radio" name="rating" value="4" id="star-rating-4">
2236                                    </div>
2237                                    <div class="d-table-cell">
2238                                        <label class="fa fa-star rating-star" for="star-rating-5"></label>
2239                                        <input type="radio" name="rating" value="5" id="star-rating-5">
2240                                    </div>
2241                                </div>
2242                                <div class="rating-text">Select rating</div>
2243                            </div>
2244
2245                            <div class="form-group">
2246                                <label for="review-title" class="form-label">Give your review a title</label>
2247                                <input type="text" id="review-title" name="title" class="review-input"
2248                                    placeholder="What's the main highlight? (e.g., 'A captivating story that kept me hooked!')"
2249                                    required>
2250                            </div>
2251
2252                            <div class="form-group">
2253                                <label for="review-message" class="form-label">Write your review</label>
2254                                <textarea class="review-textarea" id="review-message" rows="5"
2255                                    placeholder="Share your reading experience. What made this book special? What did you learn? Would you recommend it to others?"
2256                                    name="message" required></textarea>
2257                            </div>
2258
2259                            <button type="submit" class="btn btn-submit-review">
2260                                <i class="fa fa-paper-plane"></i> Post Review
2261                            </button>
2262                        </form>
2263                    </div>
2264                </div>
2265            </div>
2266        </div>
2267        </div>
2268
2269        <div class="modal fade" id="guestEmailModal" tabindex="-1" role="dialog" aria-labelledby="guestEmailModalLabel"
2270            aria-hidden="true">
2271            <div class="modal-dialog" role="document">
2272                <div class="modal-content">
2273                    <div class="modal-header">
2274                        <h4 class="modal-title" id="guestEmailModalLabel">Buy as Guest</h4>
2275                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
2276                            <span aria-hidden="true">&times;</span>
2277                        </button>
2278                    </div>
2279                    <div class="modal-body">
2280                        <div id="emailEntryStep">
2281                            <p>To get started, please enter your email address.</p>
2282                            <div class="form-group">
2283                                <input type="email" class="form-control" id="guestEmailInput"
2284                                    placeholder="[email protected]" required>
2285                                <small id="emailError" class="text-danger" style="display:none;"></small>
2286                            </div>
2287                            <button type="button" class="btn btn-primary btn-block"
2288                                id="continueToConfirmBtn">Continue</button>
2289                            <div class="or-section">
2290                                <p>OR</p>
2291                            </div>
2292                            <div class="or-option">
2293                                <a href="#"
2294                                    onclick="window.location.href='https://storymirror.com/login?ref='+window.location.href"
2295                                    class="Click here!">
2296                                    <b>Click here to login and check out</b>
2297                                </a>
2298                            </div>
2299                        </div>
2300
2301
2302
2303                        <div id="emailConfirmStep" style="display:none;">
2304                            <p>Please confirm your email address:</p>
2305                            <h4 class="text-center" style="font-weight: bold;" id="confirmEmailText"></h4>
2306                            <p class="text-center"><small>An order confirmation will be sent here.</small></p>
2307                            <hr>
2308                            <div id="confirmationError" class="alert alert-danger" style="display:none;"></div>
2309                            <button type="button" class="btn btn-success btn-block" id="confirmAndProceedBtn">Yes,
2310                                Continue to Checkout</button>
2311                            <button type="button" class="btn btn-default btn-block" id="goBackBtn">Go Back</button>
2312                        </div>
2313                    </div>
2314                </div>
2315            </div>
2316        </div>
2317    </section>
2318    
2319    <div class="modal fade" id="flipbookModal" tabindex="-1" role="dialog" aria-labelledby="flipbookModalLabel">
2320      <div class="modal-dialog" role="document">
2321        <div class="modal-content">
2322          <div class="modal-header" style="background: #fff; z-index: 2;">
2323            <h4 class="modal-title" id="flipbookModalLabel" style="float: left;">
2324                Corporate Cocktail | A Happy High | Pre-order <span class="hidden-xs">- Sample</span>
2325            </h4>
2326            
2327            <div style="float: right; display: flex; align-items: center; gap: 15px;">
2328                <a id="downloadSampleBtn" href="#" target="_blank" class="btn btn-primary btn-sm">
2329                    <i class="fa fa-download"></i> <span class="hidden-xs">Download</span>
2330                </a>
2331                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="font-size: 30px; margin-top: -5px;">
2332                    <span aria-hidden="true">&times;</span>
2333                </button>
2334            </div>
2335          </div>
2336          
2337          <div class="modal-body">
2338            <div id="flipbookContainer" class="flipbook-container"></div>
2339          </div>
2340        </div>
2341      </div>
2342    </div>
2343
2344
2345    <span style="visibility: hidden;" id="bookLanguage">english</span>
2346    <span style="visibility: hidden;" id="booktId"></span>
2347    <div id="snackbar"><span class="entypo-check"></span>&nbsp;Added to cart</div>
2348
2349
2350    
2350<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
2350
2351    
2351<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
2351
2352    
2352<script src="/assets/viewJs/owl.carousel.js"></script>
2352
2353    
2354    
2354<script src="/assets/flipbook/js/three.min.js"></script>
2354
2355    
2355<script src="/assets/flipbook/js/dflip.min.js"></script>
2355
2356    
2357    
2358    
2358<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script>
2358
2359
2360    
2360<script src="/assets/viewJs/product-detail.js"></script>
2360
2361    
2361<script src="/assets/js/common.js"></script>
2361
2362
2363    
2363<script>
2364        
2365        document.addEventListener('DOMContentLoaded', function () {
2366            
2367            // 1. Handle "View Sample" Click
2368            $(document).on('click', '#viewSampleBtn', function(e) {
2369                e.preventDefault();
2370                
2371                // Show modal with loader
2372                $('#flipbookContainer').html('<div style="display:flex;justify-content:center;align-items:center;height:100%;color:#fff;"><i class="fa fa-spinner fa-spin fa-2x"></i></div>');
2373                $('#flipbookModal').modal('show');
2374
2375                // Fetch PDF URL
2376                $.ajax({
2377                    type: "GET",
2378                    url: "/api/v1.0/products/1xh60cj28mj9mk173xf5/sample-pdf-url",
2379                    success: function(response) {
2380                        if (response.success && response.signedUrl) {
2381                            
2382                            $('#downloadSampleBtn').attr('href', response.signedUrl);
2383                            $('#flipbookContainer').html(''); // Clear loader
2384
2385                            // 2. Initialize 3D Flipbook
2386                            $("#flipbookContainer").flipBook(response.signedUrl, {
2387                                // 3D SETTINGS
2388                                webGL: true,     // Enable 3D
2389                                mode: "normal",  // "normal" allows it to decide, but with webGL:true it prefers 3D
2390                                
2391                                // UI SETTINGS
2392                                backgroundColor: "#333333",
2393                                height: "100%",
2394                                duration: 1000,   // Duration of the page turn in ms
2395                                
2396                                // CONTROLS
2397                                controlsPosition: "bottom",
2398                                paddingTop: 0,
2399                                paddingBottom: 0,
2400                                paddingLeft: 0,
2401                                paddingRight: 0
2402                            });
2403
2404                        } else {
2405                            $('#flipbookContainer').html('<div style="color:white;text-align:center;padding-top:50px;">Error loading book.</div>');
2406                        }
2407                    },
2408                    error: function(xhr) {
2409                        $('#flipbookContainer').html('<div style="color:white;text-align:center;padding-top:50px;">Error loading book.</div>');
2410                    }
2411                });
2412            });
2413
2414            // Clean up on close to free memory (Important for WebGL)
2415            $('#flipbookModal').on('hidden.bs.modal', function () {
2416                if ($("#flipbookContainer").data("flipBook")) { 
2417                    $("#flipbookContainer").flipBook("dispose"); // Use dispose or destroy depending on version
2418                }
2419                $('#flipbookContainer').html('');
2420            });
2421        });
2422
2423        $(document).ready(function() {
2424            $('#checkDeliveryBtn').on('click', function() {
2425                var pincode = $('#deliveryPincodeInput').val().trim();
2426                var productId = '1xh60cj28mj9mk173xf5';
2427                var resultDiv = $('#deliveryEstimateResult');
2428
2429                if (!pincode || pincode.length !== 6 || isNaN(pincode)) {
2430                    resultDiv.removeClass().addClass('text-danger').html('<i class="fa fa-exclamation-circle"></i> Please enter a valid 6-digit pin code.').fadeIn();
2431                    return;
2432                }
2433
2434                resultDiv.removeClass().addClass('text-muted').html('<i class="fa fa-spinner fa-spin"></i> Checking availability...').fadeIn();
2435
2436                $.ajax({
2437                    type: "GET",
2438                    url: "/api/v1.0/product/check-delivery",
2439                    data: {
2440                        pincode: pincode,
2441                        product_id: productId
2442                    },
2443                    success: function(response) {
2444                        if (response.success) {
2445                            if (response.is_digital) {
2446                                resultDiv.removeClass().addClass('text-success').html('<i class="fa fa-check-circle" style="color: #28a745; margin-right: 5px;"></i> ' + response.message);
2447                            } else if (response.is_preorder) {
2448                                var courierInfo = response.courier_name ? '<br/><small class="text-muted" style="margin-left: 18px;">Shipped via ' + response.courier_name + '</small>' : '';
2449                                var chargeHtml = response.is_publisher_product ? '<br/><span class="text-success" style="margin-left: 18px; font-weight: 600;">Delivery Charge: &#8377;' + parseFloat(response.shipping_charge).toFixed(2) + '</span>' : '';
2450                                resultDiv.removeClass().addClass('text-success').html('<i class="fa fa-check-circle" style="color: #28a745; margin-right: 5px;"></i> Delivery date is tentative for pre orders.' + chargeHtml + courierInfo);
2451                            } else if (response.is_serviceable) {
2452                                var courierInfo = response.courier_name ? '<br/><small class="text-muted" style="margin-left: 18px;">Shipped via ' + response.courier_name + '</small>' : '';
2453                                var chargeHtml = response.is_publisher_product ? '<br/><span class="text-success" style="margin-left: 18px; font-weight: 600;">Delivery Charge: &#8377;' + parseFloat(response.shipping_charge).toFixed(2) + '</span>' : '';
2454                                resultDiv.removeClass().addClass('text-success').html('<i class="fa fa-check-circle" style="color: #28a745; margin-right: 5px;"></i> Delivered in <strong>' + response.days + ' days</strong> (by ' + response.etd + ').' + chargeHtml + courierInfo);
2455                            } else {
2456                                var chargeHtml = response.is_publisher_product ? '<br/><span class="text-warning" style="margin-left: 18px; font-weight: 600;">Delivery Charge: &#8377;' + parseFloat(response.shipping_charge).toFixed(2) + '</span>' : '';
2457                                resultDiv.removeClass().addClass('text-warning').html('<i class="fa fa-info-circle" style="color: #f39c12; margin-right: 5px;"></i> ' + response.message + chargeHtml);
2458                            }
2459                        } else {
2460                            resultDiv.removeClass().addClass('text-danger').html('<i class="fa fa-exclamation-circle" style="color: #c0392b; margin-right: 5px;"></i> ' + response.message);
2461                        }
2462                    },
2463                    error: function() {
2464                        resultDiv.removeClass().addClass('text-danger').html('<i class="fa fa-exclamation-circle" style="color: #c0392b; margin-right: 5px;"></i> Failed to verify pincode. Please try again later.');
2465                    }
2466                });
2467            });
2468
2469            // Trigger click on enter key press inside input
2470            $('#deliveryPincodeInput').on('keypress', function(e) {
2471                if (e.which === 13) {
2472                    e.preventDefault();
2473                    $('#checkDeliveryBtn').click();
2474                }
2475            });
2476        });
2477    
2478    
2479        document.addEventListener('DOMContentLoaded', function () {
2480
2481            // Find the button by its ID
2482            const writeReviewButton = document.getElementById('write-review-btn');
2483
2484            // If the button exists on the page
2485            if (writeReviewButton) {
2486
2487                // Add a click event listener
2488                writeReviewButton.addEventListener('click', function (event) {
2489                    // Prevent the default instant jump
2490                    event.preventDefault();
2491
2492                    // Find the target section using the button's href attribute
2493                    const targetId = this.getAttribute('href');
2494                    const targetSection = document.querySelector(targetId);
2495
2496                    // If the target section exists, scroll to it smoothly
2497                    if (targetSection) {
2498                        targetSection.scrollIntoView({
2499                            behavior: 'smooth',
2500                            block: 'start'
2501                        });
2502                    }
2503                });
2504            }
2505        });
2506        $(document).ready(function () {
2507            $('.show-reviews').click(function () {
2508                $([document.documentElement, document.body]).animate({
2509                    scrollTop: $("#review_pool").offset().top
2510                }, 1000);
2511
2512            });
2513
2514            var reviewPost = "";
2515            if (reviewPost) {
2516                if (reviewPost == "success") {
2517                    swal("Great!", "Your review posted successfully!", "success");
2518                } else if (reviewPost == "error") {
2519                    swal("Sorry!", "Something went wrong while posting review. Please try again.", "error");
2520                }
2521            }
2522
2523            //share button
2524            $('#shareButton').on('click', function () {
2525                const bookTitle = $('#bookTitle').text().trim();
2526                const shareUrl = window.location.href;
2527                const shareText = `Check out this book: "${bookTitle}"`;
2528
2529                if (navigator.share) {
2530                    // Use Web Share API if available (mobile)
2531                    navigator.share({
2532                        title: bookTitle,
2533                        text: shareText,
2534                        url: shareUrl,
2535                    })
2536                        .catch((error) => console.log('Error sharing:', error));
2537                } else {
2538                    // Fallback to clipboard for desktop browsers
2539                    navigator.clipboard.writeText(shareUrl).then(() => {
2540                        alert("Product link copied to clipboard!");
2541                    }).catch(err => {
2542                        console.error('Failed to copy link: ', err);
2543                        alert("Sorry, could not copy the link.");
2544                    });
2545                }
2546            });
2547            // Star rating hover effect
2548            $('.rating-star').hover(function () {
2549                $('.rating-star').css('color', '#ddd').css('transform', 'scale(1)');
2550                if ($("input[name='rating']:checked").length > 0) {
2551                    let checkedVal = $("input[name='rating']:checked").val();
2552                    for (let i = 1; i <= checkedVal; i++) {
2553                        $(`label[for=star-rating-${i}]`).css('color', '#FFD700');
2554                    }
2555                }
2556                let hoverVal = $(this).attr('for').replace('star-rating-', '');
2557                for (let i = 1; i <= hoverVal; i++) {
2558                    $(`label[for=star-rating-${i}]`).css('color', '#FFD700').css('transform', 'scale(1.1)');
2559                }
2560
2561                // Update rating text
2562                const ratingText = {
2563                    1: '1 star - Poor',
2564                    2: '2 stars - Fair',
2565                    3: '3 stars - Good',
2566                    4: '4 stars - Very Good',
2567                    5: '5 stars - Excellent'
2568                };
2569                $('.rating-text').text(ratingText[hoverVal] || 'Select rating');
2570
2571            }, function () {
2572                $('.rating-star').css('color', '#ddd').css('transform', 'scale(1)');
2573                if ($("input[name='rating']:checked").length > 0) {
2574                    let checkedVal = $("input[name='rating']:checked").val();
2575                    for (let i = 1; i <= checkedVal; i++) {
2576                        $(`label[for=star-rating-${i}]`).css('color', '#FFD700');
2577                    }
2578                    $('.rating-text').text(ratingText[checkedVal]);
2579                } else {
2580                    $('.rating-text').text('Select rating');
2581                }
2582            });
2583
2584
2585            // Star rating click
2586            $("input[name='rating']").change(function () {
2587                if ($(this).is(':checked')) {
2588                    $('.rating-star').css('color', '#ddd').css('transform', 'scale(1)');
2589                    let checkedVal = $(this).val();
2590                    for (let i = 1; i <= checkedVal; i++) {
2591                        $(`label[for=star-rating-${i}]`).css('color', '#FFD700');
2592                    }
2593
2594                    // Update rating text
2595                    const ratingText = {
2596                        1: '1 star - Poor',
2597                        2: '2 stars - Fair',
2598                        3: '3 stars - Good',
2599                        4: '4 stars - Very Good',
2600                        5: '5 stars - Excellent'
2601                    };
2602                    $('.rating-text').text(ratingText[checkedVal]);
2603                }
2604            });
2605
2606            // Form validation with improved feedback
2607            $('.add-review-form form').on('submit', function (e) {
2608                const rating = $('input[name="rating"]:checked').val();
2609                const title = $('#review-title').val().trim();
2610                const message = $('#review-message').val().trim();
2611                let isValid = true;
2612
2613                if (!rating) {
2614                    isValid = false;
2615                    $('.rating-text')
2616                        .text('Please select a rating')
2617                        .css('color', '#dc3545');
2618                    setTimeout(() => {
2619                        $('.rating-text')
2620                            .text(ratingDescriptions[0])
2621                            .css('color', '#666');
2622                    }, 2000);
2623                }
2624
2625                if (title.length < 3) {
2626                    isValid = false;
2627                    $('#review-title').addClass('is-invalid');
2628                }
2629
2630                if (message.length < 10) {
2631                    isValid = false;
2632                    $('#review-message').addClass('is-invalid');
2633                }
2634
2635                if (!isValid) {
2636                    e.preventDefault();
2637                }
2638            });
2639
2640            // Clear validation styles on input
2641            $('.review-input, .review-textarea').on('input', function () {
2642                $(this).removeClass('is-invalid');
2643            });
2644
2645            // Form validation enhancement
2646            $('.add-review-form form').on('submit', function (e) {
2647                const rating = $("input[name='rating']:checked").val();
2648                const title = $('#review-title').val().trim();
2649                const message = $('#review-message').val().trim();
2650
2651                if (!rating) {
2652                    e.preventDefault();
2653                    $('.rating-text').css('color', '#dc3545').text('Please select a rating');
2654                    setTimeout(() => {
2655                        $('.rating-text').css('color', '').text(ratingDescriptions[0]);
2656                    }, 2000);
2657                    return;
2658                }
2659
2660                if (title.length < 3) {
2661                    e.preventDefault();
2662                    $('#review-title').addClass('is-invalid');
2663                    return;
2664                }
2665
2666                if (message.length < 10) {
2667                    e.preventDefault();
2668                    $('#review-message').addClass('is-invalid');
2669                    return;
2670                }
2671            });
2672
2673            // Remove validation errors on input
2674            $('.review-input, .review-textarea').on('input', function () {
2675                $(this).removeClass('is-invalid');
2676            });
2677
2678            // Fetch all reviews (no limit) by paging through the reviews API until there are no more results.
2679            // NOTE: We add a safety cap to avoid infinite loops in case of server/pagination issues.
2680            fetchAllReviews("1xh60cj28mj9mk173xf5");
2681            
2682            $('.e-book-message').slideDown();
2683            
2684            // --- SAFE CALL FOR PAGE TRACKING ---
2685            try {
2686                startPageView('Product detail');
2687            } catch(err) {
2688                console.warn("Tracking Error (Guest User?): " + err.message);
2689            }
2690            
2691        });
2692
2693        var guestEmail = '';
2694        var productId = '1xh60cj28mj9mk173xf5';
2695        var csrfToken = 'ca7CATGe-GNl_ybXmMvwNUygqPh4kkaBOCWE';
2696
2697        $('#buyNowBtn').click(function () {
2698            $('#emailEntryStep').show();
2699            $('#emailConfirmStep').hide();
2700            $('#guestEmailInput').val('');
2701            $('.text-danger').hide();
2702            $('#guestEmailModal').modal('show');
2703        });
2704
2705        $('#continueToConfirmBtn').click(function () {
2706            guestEmail = $('#guestEmailInput').val().trim();
2707
2708            if (guestEmail && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(guestEmail)) {
2709                $('#confirmEmailText').text(guestEmail);
2710                $('#emailEntryStep').hide();
2711                $('#emailConfirmStep').show();
2712                $('#emailError').hide();
2713            } else {
2714                $('#emailError').text('Please enter a valid email address.').show();
2715            }
2716        });
2717
2718        $('#goBackBtn').click(function () {
2719            $('#emailConfirmStep').hide();
2720            $('#emailEntryStep').show();
2721            $('#confirmationError').hide();
2722        });
2723
2724        $('#confirmAndProceedBtn').click(function () {
2725            var $this = $(this);
2726            $this.prop('disabled', true).text('Processing...');
2727
2728            // --- FIX 1: Manually read the affiliate cookie ---
2729            function getCookie(name) {
2730                var value = "; " + document.cookie;
2731                var parts = value.split("; " + name + "=");
2732                if (parts.length == 2) return parts.pop().split(";").shift();
2733            }
2734            var affiliateRef = getCookie("affiliate_ref");
2735            // ------------------------------------------------
2736
2737            $.ajax({
2738                type: 'POST',
2739                url: '/cart/guest-checkout-start',
2740                // --- FIX 2: Ensure cookies are sent (just in case) ---
2741                xhrFields: {
2742                    withCredentials: true
2743                },
2744                data: {
2745                    _csrf: csrfToken,
2746                    email: guestEmail,
2747                    product_id: productId,
2748                    // --- FIX 3: Send ref code explicitly in body ---
2749                    affiliate_ref: affiliateRef 
2750                },
2751                success: function (response) {
2752                    if (response.success) {
2753                        window.location.href = response.redirectUrl;
2754                    }
2755                },
2756                error: function (xhr) {
2757                    var error = xhr.responseJSON;
2758                    if (error && error.loginUrl) {
2759                        $('#confirmationError').html('An account with this email already exists. Please <a href="' + error.loginUrl + '">log in</a> to continue.').show();
2760                    } else {
2761                        $('#confirmationError').text('An unexpected error occurred. Please try again.').show();
2762                    }
2763                    $this.prop('disabled', false).text('Yes, Continue to Checkout');
2764                }
2765            });
2766        });
2767
2768        $('.add-to-cart').click(function () {
2769            openSnack();
2770            var inputData = {};
2771            inputData["_csrf"] = "ca7CATGe-GNl_ybXmMvwNUygqPh4kkaBOCWE";
2772            inputData["product_id"] = "1xh60cj28mj9mk173xf5";
2773            inputData["quantity"] = 1;
2774            $.ajax({
2775                type: "POST", url: "/cart/add-to-cart", data: inputData,
2776                success: function (data) { },
2777                error: function (error) { console.log("ERROR = ", error); }
2778            });
2779            $('.cart-count').addClass('spin').css('box-shadow', 'none');
2780            setTimeout(function () {
2781                $('.cart-count').removeClass('spin').css('box-shadow', '-3px 2px 1px rgba(0, 0, 0, 0.4)');
2782            }, 400);
2783        });
2784
2785        $('.update-cart-count').click(function () {
2786            var current_count = parseInt($('.cart-count').html());
2787            $('.cart-count').text(!isNaN(current_count) ? current_count + 1 : 1);
2788        });
2789
2790        $('.detail-small-image img').click(function () {
2791            var newSrc = $(this).attr('src');
2792            $('.big-image').attr('src', newSrc);
2793        });
2794
2795        async function fetchAllReviews(productId) {
2796            // Clear existing reviews
2797            $('#review_pool').html('');
2798
2799            var page = 1;
2800            var maxPages = 100; // safety cap - change if you expect more pages
2801            var fetched = 0;
2802
2803            while (page <= maxPages) {
2804                try {
2805                    // jQuery.ajax returns a promise-like object that works with await
2806                    var response = await $.ajax({
2807                        type: "GET",
2808                        url: `/api/v1.0/reviews`,
2809                        data: { product_id: productId, page: page }
2810                    });
2811
2812                    if (response && response.data && response.data.length > 0) {
2813                        appendReviews(response.data);
2814                        fetched += response.data.length;
2815                        page++;
2816                    } else {
2817                        // no more reviews
2818                        break;
2819                    }
2820                } catch (err) {
2821                    console.log('ERROR fetching reviews = ', err);
2822                    break;
2823                }
2824            }
2825
2826            if (page > maxPages) {
2827                console.warn('Reached max pages cap while fetching reviews:', maxPages);
2828            }
2829        }
2830
2831        function appendReviews(reviews) {
2832            var retHtml = ``;
2833            for (var i = 0; i < reviews.length; i++) {
2834                var curReviewObj = reviews[i];
2835                var starHtml = ``;
2836                for (let j = 0; j < 5; j++) {
2837                    starHtml += `<span class="fa fa-star ${j < curReviewObj.rating ? 'checked' : ''}" style="font-size: 15px;"></span>`;
2838                }
2839                var reviewDateObj = new Date(Date.parse(curReviewObj.created_at));
2840                const fullMonthsArr = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
2841                const reviewDateStr = `${reviewDateObj.getDate()} ${fullMonthsArr[reviewDateObj.getMonth()]} ${reviewDateObj.getFullYear()}`;
2842                var aHtml = `
2843            <div class="d-table pt30 w-100">
2844                <div class="d-table-cell align-top" style="width:60px">
2845                    <img class="pull-left" src="https://assets.storymirror.com/media/storymirror/website-assets/sm-static-pages/static_files/06f645ec-81a4-4935-8340-2ae2c8eefaef.png" style="width: 50px; border-radius: 50%;" />
2846                </div>
2847                <div class="d-table-cell align-middle pl15">
2848                    <h5><strong>${curReviewObj.customer_meta.name}</strong> on ${reviewDateStr}</h5>
2849                    <div>${starHtml}</div>
2850                    <h5 style="font-weight: bold; margin-top: 10px;">${curReviewObj.title}</h5>
2851                    <p>${curReviewObj.body}</p>
2852                </div>
2853            </div>`;
2854                retHtml += aHtml
2855            }
2856            // Append new reviews instead of replacing so we can accumulate pages
2857            $('#review_pool').append(retHtml);
2858        }
2859         
2860    function addToMyShelf(productId) {
2861    // Basic notification
2862    var snack = document.getElementById("snackbar");
2863    snack.innerHTML = "Adding to shop...";
2864    snack.className = "show";
2865
2866    fetch('/api/affiliate/shelf/add', {
2867        method: 'POST',
2868        headers: { 'Content-Type': 'application/json' },
2869        body: JSON.stringify({ product_id: productId })
2870    })
2871    .then(res => res.json())
2872    .then(data => {
2873        if(data.status === 'success') {
2874            snack.innerHTML = "✅ Added to your shop!";
2875        } else {
2876            snack.innerHTML = "⚠️ " + data.message;
2877        }
2878        // Hide snackbar after 3 seconds
2879        setTimeout(function(){ snack.className = snack.className.replace("show", ""); }, 3000);
2880    })
2881    .catch(err => {
2882        console.error(err);
2883        snack.innerHTML = "Error adding book";
2884    });
2885    }
2886
2887    </script>
2887
2888
2889</body>
2890
2891</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.